windows server2012下配置mysql主從備份

工具:

1.mysql-5.7.10-win32

2.window server 2012 R2服務器兩臺


步驟1:

首先在主機(Master)配置文件my.ini的[mysqld]下增加如下配置

server-id = 1 #用於標識唯一的數據庫,在從庫必須設置爲不同的值。

log-bin=d:/mysql-5.7.10-win32/log/mysql-bin #同步日誌的保存路徑,也可以直接寫成mysql-bin,直接寫mysql-bin日誌文件會生成到data文件夾的根目錄

binlog-do-db=mytest #指定需要同步的數據庫

添加完之後重啓數據庫,進入mysql控制檯,賦予從庫權限賬號,允許用戶在主庫上讀取日誌,賦予Slave從機有File權限,只賦予Slave從機有File權限還不行,還要給它REPLICATION SLAVE的權限纔可以。

grant FILE on *.* to 'mysql備份用戶名'@'從機ip地址XX.XX.XX.XX' identified by '密碼'; 

grant replication slave on *.* to 'mysql備份用戶名'@'從機ip地址XX.XX.XX.XX' identified by '密碼';

flush privileges;

重啓mysql,進入mysql控制檯,輸入命令:show master status;查看主庫信息,如果該命令沒數據,說明上面配置有誤;File是同步會使用到的binlog文件,Position是同步的時候也要用到的。


步驟2:

從機(Slave)配置文件my.ini的[mysqld]下增加如下配置

server-id = 2

log-bin=c:/mysql-5.7.10-win32/log/mysql-bin

log-bin-index=c:/mysql-5.7.10-win32/log/binlog.index

expire_logs_days=3

replicate-do-db=mytest

log-slave-updates

slave-skip-errors=all

slave-net-timeout=60

進入從機的mysql控制檯,執行如下命令

stop slave; 

change master to master_host='主機IPXX.XX.XX.XX',master_user='mysql備份用戶名',master_password='密碼',master_log_file='主機的同步日誌文件,最後看的那個File', master_log_pos=主機配置最後查看的那個端口; 

start slave;

查看從機配置狀態,執行命令show slave status,輸出信息中沒有錯誤同步應該就配置完成了


注意事項:

1.show slave status中的position和file必須和master中的對應上!

2.同步日誌的路徑中的文件夾必須真實存在,否則同步日誌不能正常工作!

3.防火牆測試的話可以直接關閉,生產環境就加例外即可!

希望對大家有幫助,不對之處希望指出,謝謝


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章