您好,登錄后才能下訂單哦!
下文給大家帶來關于不同云服務器如何實現mysql數據庫同步,感興趣的話就一起來看看這篇文章吧,相信看完不同云服務器如何實現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 = mysql
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云服務器刷新后,也看到新建一張表。
3.補充一點,如果B云服務器只需要同步部分數據表。
可以修改B云服務器的my.cnf,增加
replicate-do-table=db_name1.table_name1
replicate-do-table=db_name1.table_name2
replicate-do-table=db_name2.table_name1
看了以上關于不同云服務器如何實現mysql數據庫同步詳細內容,是否有所收獲。如果想要了解更多相關,可以繼續關注我們的行業資訊板塊。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。