共計 1487 個字符,預計需要花費 4 分鐘才能閱讀完成。
自動寫代碼機器人,免費開通
本篇文章為大家展示了 mysql 中怎么實現同步備份,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
不同服務器上 mysql 如何實現同步備份
1. 服務器狀態:
服務器 A:192.168.1.1
服務器 B:192.168.1.2
2. 創建同步用戶:
主機域 A:192.168.1.2 用戶名 A:sync_a 密碼 A:aaa
主機域 B:192.168.1.1 用戶名 B:sync_b 密碼 B:bbb
至少分配以下權限 grantreplicationslave。
3. 執行 flushprivileges。
4. 停止 MySQL。
5. 配置 my.cnf(my.ini)。
服務器 A 服務器 B
user=mysqllog-bin=mysql-binserver-id=1binlog-do-db=testbinlog-ignore-db=mysqlreplicate-do-db=testreplicate-ignore-db=mysqllog-slave-updatesslave-skip-errors=allsync_binlog=1user=mysqllog-bin=mysql-binserver-id=2binlog-do-db=testbinlog-ignore-db=mysqlreplicate-do-db=testreplicate-ignore-db=mysqllog-slave-updatesslave-skip-errors=allsync_binlog=1
注意:
server-id 必須唯一。
binlog-do-db 和 replicate-do-db 表示需要同步的數據庫。
binlog-ignore-db 和 replicate-ignore-db 表示不需要同步的數據庫。
請不要加入以下命令,該命令并不會解決 uid 跳號的問題,恰恰相反以下兩行命令才是導致 uid 跳號的罪魁禍首:
auto_increment_increment=2auto_increment_offset=1
不同服務器上 mysql 如何實現同步備份
6. 重新啟動 MySQL。
7. 進入 MySQL 控制臺:
服務器 A:
showmasterstatusGflushtableswithreadlock
服務器 B:
showmasterstatusGflushtableswithreadlock;
同時記錄下兩臺服務器的 File 和 Position,此處假設:
A:File:mysql-bin.000001
Position:001
B:File:mysql-bin.000002
Position:002
服務器 A:
changemasterto- master_host= 192.168.1.2 ,- master_user= sync_b ,- master_password= bbb ,- master_log_file= mysql-bin.000002 ,- master_log_pos=002;
服務器 B:
changemasterto- master_host= 192.168.1.1 ,- master_user= sync_a ,- master_password= aaa ,- master_log_file= mysql-bin.000001 ,- master_log_pos=001;
此處填寫的數據完全相反。
8. 執行 showprocesslistG 查看是否同步成功。
上述內容就是 mysql 中怎么實現同步備份,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注丸趣 TV 行業資訊頻道。
向 AI 問一下細節