?
環(huán)境為centos 7.2+mysql 5.7,網(wǎng)上教程很多,原理也不復(fù)雜(深知自己踩的坑還不夠)
正常情況下,配置起來比較簡單。另外,根據(jù)個人感受,mysql的復(fù)制感覺要比SQL Server的復(fù)制要清爽很多(盡管功能上可能有一些差異)。
?
?
?master服務(wù)器,首先是開啟了二進制日志,同時設(shè)置server-id為一個具體的數(shù)值
1,創(chuàng)建復(fù)制用戶
GRANT REPLICATION SLAVE ON *.* to ‘repl_test’@’120.77.147.***’ identified by ‘123456’;
2,記錄master日志文件和日志位置
show master status;
?
?從庫上
1,設(shè)置主服務(wù)器
CHANGE MASTER TO
MASTER_HOST=’120.77.159.43′,
MASTER_USER=’repl_test’,
MASTER_PASSWORD=’123456′,
MASTER_PORT = 8000,
MASTER_LOG_FILE=’mysql-bin.000047′,
MASTER_LOG_POS=3112;
2,啟動從服務(wù)器上的復(fù)制
start slave;
? show slave status 查看叢庫的狀態(tài)
?
數(shù)據(jù)同步測試
主服務(wù)器上創(chuàng)建一個新的DB,隨即同步到從服務(wù)器
?
?主服務(wù)器上創(chuàng)建一個表,寫入數(shù)據(jù),也同步到從服務(wù)器上(阿里云免費申請的兩臺ECS云服務(wù)器,主從延遲很小,感覺不超過1秒)
?
?
中間遇到一點小問題,在show slave status的時候,發(fā)現(xiàn)Slave_IO_Running是正常啟動的,但是Slave_SQL_Running沒有啟動
Slave_IO_Running: Yes
Slave_SQL_Running: No
參考這里之后,解決
set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;客戶端運行,用來跳過幾個事件,只有當(dāng)同步進程出現(xiàn)錯誤而停止的時候才可以執(zhí)行。
stop slave ;
set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
start slave
?
?
可能是老了,容易感慨,
之前一直對linux有一種畏懼感,或者說有一種固化思維:linux(這么難)我肯定不會—>那我干嗎去動他—>必然肯定不會
自從看到某個之前也沒有接觸linux的朋友在接觸沒幾天之后,常用的操作命令打的呼呼地,然后自己從0開始裝虛擬機,基本問題都能幫助解決
自此深受鼓舞,不敢說入門,也大概知道linux是怎么回事了
再次感慨,人跟人真的比不了,說的好聽一點是有部分人“能力強”,說不好聽一點或者現(xiàn)實一點,那就是人家智商高,有啥辦法,只能一步一步慢慢來,行動起來,不怕慢,就怕干,不要對那些在某些方面看起來很牛逼的人弄的東西,產(chǎn)生膽怯心理。
?
行動可以改變思維方式。
?