不同服務器的mysql數據庫同步
目標:
A服務器上自建的數據庫同步到B服務器上自建的數據庫。
阿裏雲的RDS數據庫A同步到B服務器上自建的數據庫。
A的數據庫名為:mytest
基礎:linux,會配置my.cnf
開始:
下面稱前者A為主服務器,後者B為從服務器。
先在A服務器查看:sql語句:show master status;
得到File,Position 的值。
‘mysql-bin.000039‘, ‘1538‘, (這個後面要用到)
在B服務器,修改:/etc/my.cnf.
修改前,先停止mysql.
增加這幾句:
server-id = 2
expire_logs_days = 10
max_binlog_size = 100M
replicate-do-db = mytest
replicate-ignore-db = information_schema
replicate-ignore-db = preformance_schema
slave-skip-errors=all
#GTID
gtid_mode=on
enforce_gtid_consistency=on
binlog_format=row
log-slave-updates=1
修改後,再重啟mysql.
3.B服務器,進入mysql
mysql>show slave status\G;
查看從服務器狀態。
如有,則停止。
mysql>stop slave;
然後寫這一句:
mysql>change master to master_host=‘*********‘,master_port=3306,master_user=‘******‘,master_password=‘*******‘,master_log_file=‘mysql-bin.000039‘ ,master_log_pos=1538;
master_log_file=‘mysql-bin.000039‘ ,master_log_pos=1538;就是上面A服務器查到的。
在執行這一句時,可能因為之前的slave沒清除,會報錯,
mysql> reset slave all;
即可。
重啟 ,
mysql>start slave;
再查看,
mysql>show slave status\G;
有這三句,就對了!
Slave_IO_State: Waiting for master to send event
Slave_IO_Running:Yes;
Slave_SQL_Runing:Yes;
之後,A服務器中mytest數據庫的更新,都會同步到B服務器。
比如,新建一張表,B服務器刷新後,也看到新建一張表。
網上幾篇文章,比較詳細。也可以參考。再有問題。歡迎加入PHP技術問答群提問。
謝謝閱讀。
主從同步數據庫:
http://blog.csdn.net/chenzenan/article/details/44198053
https://yq.aliyun.com/articles/66087
https://yq.aliyun.com/articles/9044
雙向同步數據庫:
http://blog.csdn.net/chenhongwu666/article/details/54358449
---------- 招募未來大神 -----------------------
如果您有利他之心,樂於幫助他人,樂於分享
如果您遇到php問題,百度且問了其他群之後仍沒得到解答
歡迎加入,PHP技術問答群,QQ群:292626152
教學相長!幫助他人,自己也會得到提升!
為了珍惜每個人的寶貴時間,請大家不要閑聊!
願我們互相幫助,共同進步!
加入時留言暗號,php,ajax,thinkphp,yii...
不同服務器的mysql數據庫同步