溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Windows系統(tǒng)下應(yīng)該如何實現(xiàn)MySql主從復(fù)制

發(fā)布時間:2020-04-22 11:20:18 來源:億速云 閱讀:277 作者:三月 欄目:MySQL數(shù)據(jù)庫

下文內(nèi)容主要給大家?guī)鞼indows系統(tǒng)下應(yīng)該如何實現(xiàn)MySql主從復(fù)制,所講到的知識,與書籍不同,都是億速云專業(yè)技術(shù)人員在與用戶接觸過程中,總結(jié)出來的,具有一定的經(jīng)驗分享價值,希望給廣大讀者帶來幫助。

啟動及關(guān)閉mysql的命令。注:此命令是在cmd窗口執(zhí)行

MySql啟動停止命令

net start mysql 

net stop  mysql


修改Mysql.user表中的root用戶的host權(quán)限為%,否則無法使用root用戶遠(yuǎn)程連接

Windows系統(tǒng)下應(yīng)該如何實現(xiàn)MySql主從復(fù)制

登入MySql執(zhí)行:

SHOW VARIABLES LIKE '%datadir%'; 查看my.ini路徑

Windows系統(tǒng)下應(yīng)該如何實現(xiàn)MySql主從復(fù)制

找到配置文件my.ini,加入如下代碼

[mysqld]

server-id = 1   

binlog-do-db=test         #要同步的數(shù)據(jù)庫

#binlog-ignore-db=mysql   #不同步的數(shù)據(jù)庫,如果指定了binlog-do-db這里應(yīng)該可以不用指定的

log-bin=mysql-bin         #要生成的二進(jìn)制日記文件名稱

expire_logs_days = 10     #二進(jìn)制日志文件刪除的天數(shù)

max_binlog_size=100M      #二進(jìn)制日志文件最大的大小

#bind_address=192.168.1.188   指定訪問地址

character-set-server=utf8    #僅適用5.5以上版本

保存更改的配置文件



然后執(zhí)行下面sql語句查詢是否修改成功

SHOW VARIABLES LIKE '%log_bin%'; 查詢是否生效 

Windows系統(tǒng)下應(yīng)該如何實現(xiàn)MySql主從復(fù)制

log_bin 的值為on說明修改成功


show variables like 'server_id';

如果server_id'不存在執(zhí)行,創(chuàng)建  SET GLOBAL server_id=1;


接下來在master(主庫)上建立一個備份賬戶,這里創(chuàng)建的賬戶為repl %表示任意地址的repl用戶均可登入master。

GRANT REPLICATION SLAVE ON *.* TO 'repl '@'%' IDENTIFIED BY 'Abcd@1234';


 從庫機器上連接主庫命令  mysql -h IP地址 -uroot -p ;

GRANT ALL PRIVILEGES ON *.* TO 'repl'@'%'  測試從庫連接主庫,如無法連接,進(jìn)行授權(quán)解決


重啟云服務(wù)器,查詢master主機信息

show master status;  記錄這里的信息,接下來配置從庫是會使用

Windows系統(tǒng)下應(yīng)該如何實現(xiàn)MySql主從復(fù)制


二、從庫配置

將主庫中data要復(fù)制的庫復(fù)制到從庫的data中,保持?jǐn)?shù)據(jù)一直,這里我們使用的是test

然后編輯從數(shù)據(jù)庫的my.ini文件

[mysqld] 

server-id = 2

log-bin = mysql-bin

replicate-do-db=test

character-set-server=utf8    #僅適用5.5以上版本

ps:查看配置文件是否已存在server-id   如果有,需要注釋掉

show variables like 'server_id'; 

如果server_id'不存在執(zhí)行,創(chuàng)建  SET GLOBAL server_id=2;


停止slave 服務(wù)

stop slave;


設(shè)置從庫連接時登錄主數(shù)據(jù)庫的賬號和密碼等信息,然后啟動slave  (ps:這最好重新查看一下master狀態(tài),以防信息發(fā)生改變 show master status; 

CHANGE MASTER TO MASTER_HOST = '192.168.1.188' ,MASTER_USER = 'repl' 

    ,MASTER_PASSWORD ='Abcd@1234' 

    ,MASTER_LOG_FILE ='binlog.000008' 

    ,MASTER_LOG_POS =154;

MASTER_HOST     表示實現(xiàn)復(fù)制的主服務(wù)器IP地址 

MASTER_USER     表示實現(xiàn)復(fù)制的登入遠(yuǎn)程主服務(wù)器的用戶

MASTER_PASSWORD 表示實現(xiàn)復(fù)制的登入遠(yuǎn)程主服務(wù)器的用戶密碼

這里的master_log_file和master_log_pos對應(yīng)剛才show master status記下的參數(shù)。

MASTER_LOG_FILE 表示實現(xiàn)復(fù)制的binlog日志文件 

MASTER_LOG_POS  表示實現(xiàn)復(fù)制的binlog日志文件的偏移量


開啟slave

start slave;

show slave status;

查看這兩項是否為YES,yes為正常。

Slave_IO_Running: Yes  或 Connecting to master 

Slave_SQL_Running: Yes


正常說明配置成功,接下來進(jìn)行測試

mysql> create table tianyc_02(b int);
Query OK, 0 rows affected (0.16 sec)

mysql> insert into tianyc_02 values(2013);
Query OK, 1 row affected (0.13 sec)

-- 從庫

mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| tianyc_01 |
| tianyc_02 |
+----------------+
2 rows in set (0.00 sec)

mysql> select * from tianyc_02;
+------+
| b |
+------+
| 2013 |
+------+
1 row in set (0.00 sec)

同理,可以搭建第二、第三個從節(jié)點。

對于以上關(guān)于Windows系統(tǒng)下應(yīng)該如何實現(xiàn)MySql主從復(fù)制,如果大家還有更多需要了解的可以持續(xù)關(guān)注我們億速云的行業(yè)推新,如需獲取專業(yè)解答,可在官網(wǎng)聯(lián)系售前售后的,希望該文章可給大家?guī)硪欢ǖ闹R更新。

 

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI