您好,登錄后才能下訂單哦!
下文內容主要給大家帶來Windows系統下應該如何實現MySql主從復制,所講到的知識,與書籍不同,都是億速云專業技術人員在與用戶接觸過程中,總結出來的,具有一定的經驗分享價值,希望給廣大讀者帶來幫助。
啟動及關閉mysql的命令。注:此命令是在cmd窗口執行
MySql啟動停止命令
net start mysql
net stop mysql
修改Mysql.user表中的root用戶的host權限為%,否則無法使用root用戶遠程連接
登入MySql執行:
SHOW VARIABLES LIKE '%datadir%'; 查看my.ini路徑
找到配置文件my.ini,加入如下代碼
[mysqld]
server-id = 1
binlog-do-db=test #要同步的數據庫
#binlog-ignore-db=mysql #不同步的數據庫,如果指定了binlog-do-db這里應該可以不用指定的
log-bin=mysql-bin #要生成的二進制日記文件名稱
expire_logs_days = 10 #二進制日志文件刪除的天數
max_binlog_size=100M #二進制日志文件最大的大小
#bind_address=192.168.1.188 指定訪問地址
character-set-server=utf8 #僅適用5.5以上版本
保存更改的配置文件
然后執行下面sql語句查詢是否修改成功
SHOW VARIABLES LIKE '%log_bin%'; 查詢是否生效
log_bin 的值為on說明修改成功
show variables like 'server_id';
如果server_id'不存在執行,創建 SET GLOBAL server_id=1;
接下來在master(主庫)上建立一個備份賬戶,這里創建的賬戶為repl %表示任意地址的repl用戶均可登入master。
GRANT REPLICATION SLAVE ON *.* TO 'repl '@'%' IDENTIFIED BY 'Abcd@1234';
從庫機器上連接主庫命令 mysql -h IP地址 -uroot -p ;
GRANT ALL PRIVILEGES ON *.* TO 'repl'@'%' 測試從庫連接主庫,如無法連接,進行授權解決
重啟云服務器,查詢master主機信息
show master status; 記錄這里的信息,接下來配置從庫是會使用
二、從庫配置
將主庫中data要復制的庫復制到從庫的data中,保持數據一直,這里我們使用的是test
然后編輯從數據庫的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'不存在執行,創建 SET GLOBAL server_id=2;
停止slave 服務
stop slave;
設置從庫連接時登錄主數據庫的賬號和密碼等信息,然后啟動slave (ps:這最好重新查看一下master狀態,以防信息發生改變 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 表示實現復制的主服務器IP地址
MASTER_USER 表示實現復制的登入遠程主服務器的用戶
MASTER_PASSWORD 表示實現復制的登入遠程主服務器的用戶密碼
(這里的master_log_file和master_log_pos對應剛才show master status記下的參數。)
MASTER_LOG_FILE 表示實現復制的binlog日志文件
MASTER_LOG_POS 表示實現復制的binlog日志文件的偏移量
開啟slave
start slave;
show slave status;
查看這兩項是否為YES,yes為正常。
Slave_IO_Running: Yes 或 Connecting to master
Slave_SQL_Running: Yes
正常說明配置成功,接下來進行測試
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)
同理,可以搭建第二、第三個從節點。
對于以上關于Windows系統下應該如何實現MySql主從復制,如果大家還有更多需要了解的可以持續關注我們億速云的行業推新,如需獲取專業解答,可在官網聯系售前售后的,希望該文章可給大家帶來一定的知識更新。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。