Windows下MySQL主從復(fù)制的配置方法
MySQL主從復(fù)制允許將來自一個數(shù)據(jù)庫(主數(shù)據(jù)庫)的數(shù)據(jù)復(fù)制到一個或多個數(shù)據(jù)庫(從數(shù)據(jù)庫)。
主數(shù)據(jù)庫一般是實時的業(yè)務(wù)數(shù)據(jù)寫入和更新操作,從數(shù)據(jù)庫常用的讀取為主。
主從復(fù)制過程:
1、主服務(wù)器上面的任何修改都會通過自己的 I/O tread(I/O 線程)保存在二進制日志 Binary log 里面。
2、從服務(wù)器上面也啟動一個 I/O thread,通過配置好的用戶名和密碼, 連接到主服務(wù)器上面請求讀取二進制日志,然后把讀取到的二進制日志寫到本地的一個Realy log(中繼日志)里面。
3、從服務(wù)器上面同時開啟一個 SQL thread 定時檢查 Realy log(這個文件也是二進制的),如果發(fā)現(xiàn)有更新立即把更新的內(nèi)容在本機的數(shù)據(jù)庫上面執(zhí)行一遍。
環(huán)境如下:
主數(shù)據(jù)庫:MySQL版本5.7,IP為192.168.1.11
從數(shù)據(jù)庫:MySQL版本5.7,IP為192.168.1.12
一、主數(shù)據(jù)庫配置
1、創(chuàng)建一個新的測試數(shù)據(jù)庫,名稱為testdb。
2、打開my.ini,增加配置
# 主從復(fù)制 server-id=1 #設(shè)置server-id log-bin=mysql-bin #開啟二進制文件 #同步的數(shù)據(jù)庫,除此之外別的不同步(和下面binlog-ignore-db二選一) binlog_do_db=testdb #不同步數(shù)據(jù)庫,除此之外都同步 #binlog-ignore-db = information_schema #binlog-ignore-db = MySQL
3、重啟MySQL服務(wù)
4、創(chuàng)建用于同步的用戶賬號
(1)以管理員身份打開cmd窗口后,運行mysql -uroot -p,輸入密碼(為空則直接回車),登陸。
(2)先后執(zhí)行下面3條命令創(chuàng)立用戶(用戶名MySlave,密碼123456),并刷新權(quán)限
CREATE USER 'MySlave'@'192.168.1.12' IDENTIFIED BY '123456';
GRANT REPLICATION SLAVE ON *.* TO 'MySlave'@'192.168.1.12';
FLUSH PRIVILEGES;
5、查看Master狀態(tài),記錄二進制文件名和位置
show master status;
二進制文件為mysql-bin.000005,位置為154
二、從數(shù)據(jù)庫配置
1、創(chuàng)建一個新的測試數(shù)據(jù)庫,名稱為testdb。
2、驗證同步賬號能否登陸
打開Navicat for MySQL,新建鏈接,IP填寫192.168.1.11,用戶名MySlave,密碼123456,點擊“連接測試”驗證是否能連接。
3、打開my.ini,增加配置
server-id=2 #設(shè)置server-id
log-bin=mysql-bin #開啟二進制文件
4、重啟MySQL服務(wù)
5、cmd命令行登陸MySQL數(shù)據(jù)庫,執(zhí)行下面命令進行手動同步
mysql > CHANGE MASTER TO MASTER_HOST='192.168.1.11',MASTER_PORT=3306,MASTER_USER='MySlave',MASTER_PASSWORD='123456',MASTER_LOG_FILE='mysql-bin.000005',MASTER_LOG_POS=154;
6、啟動salve同步進程
mysql > start slave;
7、查看slave狀態(tài)
執(zhí)行命令:show slave status\G;
Slave_IO_Running: Yes,Slave_SQL_Running: Yes時說明兩個線程已啟動,主從復(fù)制配置成功。
8、測試
在主數(shù)據(jù)庫新建一個表,刷新從數(shù)據(jù)庫,可以看到這個表。
備注:
在進行數(shù)據(jù)庫主從復(fù)制前,主數(shù)據(jù)庫中已有表和數(shù)據(jù),則這部分數(shù)據(jù)不會同步,需要手動導(dǎo)出,并在從數(shù)據(jù)庫中導(dǎo)入。
以上就是Windows下MySQL主從復(fù)制的配置方法的詳細內(nèi)容,更多關(guān)于MySQL主從復(fù)制的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
mysql unique option prefix myisam_recover instead of myisam-
Using unique option prefix myisam_recover instead of myisam-recover-options is deprecated and will be removed in a future release. Please use the full name instead2016-05-05MySQL創(chuàng)建定時任務(wù)實例(每天凌晨1點、每小時、每分鐘、某一時間點)
在mysql中有時候要定時更新或者刪除一部分數(shù)據(jù)需要用到mysql的定時任務(wù),下面這篇文章主要給大家介紹了關(guān)于MySQL創(chuàng)建定時任務(wù)的相關(guān)資料,包括每天凌晨1點、每小時、每分鐘、某一時間點等,需要的朋友可以參考下2023-03-03MySQL中復(fù)制數(shù)據(jù)表中的數(shù)據(jù)到新表中的操作教程
這篇文章主要介紹了MySQL中復(fù)制數(shù)據(jù)表中的數(shù)據(jù)到新表中的操作教程,文中分為新表存在和新表不存在兩種情況來講,需要的朋友可以參考下2016-03-03MySQL數(shù)據(jù)庫實現(xiàn)MMM高可用群集架構(gòu)
這篇文章主要介紹了MySQL數(shù)據(jù)庫實現(xiàn)MMM高可用群集架構(gòu),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12