不同服務(wù)器上mysql如何實(shí)現(xiàn)同步備份(一)
不同服務(wù)器上的mysql數(shù)據(jù)庫實(shí)現(xiàn)同步備份的過程如下:
1.服務(wù)器狀態(tài):
服務(wù)器A:192.168.1.1
服務(wù)器B:192.168.1.2
2.創(chuàng)建同步用戶:
主機(jī)域A:192.168.1.2 用戶名A:sync_a 密碼A:aaa
主機(jī)域B:192.168.1.1 用戶名B:sync_b 密碼B:bbb
至少分配以下權(quán)限grantreplicationslave。
3.執(zhí)行flushprivileges。
4.停止MySQL。
5.配置my.cnf(my.ini)。
服務(wù)器A服務(wù)器B
- user=mysql
- log-bin=mysql-bin
- server-id=1
- binlog-do-db=test
- binlog-ignore-db=mysql
- replicate-do-db=test
- replicate-ignore-db=mysql
- log-slave-updates
- slave-skip-errors=all
- sync_binlog=1user=mysql
- log-bin=mysql-bin
- server-id=2
- binlog-do-db=test
- binlog-ignore-db=mysql
- replicate-do-db=test
- replicate-ignore-db=mysql
- log-slave-updates
- slave-skip-errors=all
- sync_binlog=1
注意:
server-id必須***。
binlog-do-db和replicate-do-db表示需要同步的數(shù)據(jù)庫。
binlog-ignore-db和replicate-ignore-db表示不需要同步的數(shù)據(jù)庫。
請(qǐng)不要加入以下命令,該命令并不會(huì)解決uid跳號(hào)的問題,恰恰相反以下兩行命令才是導(dǎo)致uid跳號(hào)的罪魁禍?zhǔn)祝?/p>
- auto_increment_increment=2
- auto_increment_offset=1
6.重新啟動(dòng)MySQL。
7.進(jìn)入MySQL控制臺(tái):
服務(wù)器A:
- showmasterstatusG
- flushtableswithreadlock
服務(wù)器B:
- showmasterstatusG
- flushtableswithreadlock;
同時(shí)記錄下兩臺(tái)服務(wù)器的File和Position,此處假設(shè):
A:File:mysql-bin.000001
Position:001
B:File:mysql-bin.000002
Position:002
服務(wù)器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;
服務(wù)器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;
此處填寫的數(shù)據(jù)完全相反。
8.執(zhí)行showprocesslistG查看是否同步成功。
本文就介紹到這里,謝謝大家的支持!
【編輯推薦】