嘗試搭建MySQL master-slave主從復制的環境
發表時間:2023-08-01 來源:明輝站整理相關軟件相關文章人氣:
[摘要]環境為centos 7.2+mysql 5.7,網上教程很多,原理也不復雜(深知自己踩的坑還不夠)正常情況下,配置起來比較簡單。另外,根據個人感受,MySQL的復制感覺要比SQL Server的復制...
環境為centos 7.2+mysql 5.7,網上教程很多,原理也不復雜(深知自己踩的坑還不夠)

正常情況下,配置起來比較簡單。另外,根據個人感受,MySQL的復制感覺要比SQL Server的復制要清爽很多(盡管功能上可能有一些差異)。
master服務器,首先是開啟了二進制日志,同時設置server-id為一個具體的數值
1,創建復制用戶
GRANT REPLICATION SLAVE ON *.* to 'repl_test'@'120.77.147.***' identified by '123456';
2,記錄master日志文件和日志位置
show master status;

從庫上
1,設置主服務器
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,啟動從服務器上的復制
start slave;

show slave status 查看叢庫的狀態
數據同步測試
主服務器上創建一個新的DB,隨即同步到從服務器

主服務器上創建一個表,寫入數據,也同步到從服務器上(阿里云免費申請的兩臺ECS云服務器,主從延遲很小,感覺不超過1秒)

中間遇到一點小問題,在show slave status的時候,發現Slave_IO_Running是正常啟動的,但是Slave_SQL_Running沒有啟動
Slave_IO_Running: Yes
Slave_SQL_Running: No
參考這里之后,解決
set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;客戶端運行,用來跳過幾個事件,只有當同步進程出現錯誤而停止的時候才可以執行。
stop slave ;
set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
start slave
可能是老了,容易感慨,
之前一直對linux有一種畏懼感,或者說有一種固化思維:linux(這么難)我肯定不會--->那我干嗎去動他--->必然肯定不會
自從看到某個之前也沒有接觸linux的朋友在接觸沒幾天之后,常用的操作命令打的呼呼地,然后自己從0開始裝虛擬機,基本問題都能幫助解決
自此深受鼓舞,不敢說入門,也大概知道linux是怎么回事了
再次感慨,人跟人真的比不了,說的好聽一點是有部分人“能力強”,說不好聽一點或者現實一點,那就是人家智商高,有啥辦法,只能一步一步慢慢來,行動起來,不怕慢,就怕干,不要對那些在某些方面看起來很牛逼的人弄的東西,產生膽怯心理。
行動可以改變思維方式。

以上就是嘗試搭建MySQL master-slave主從復制的環境的詳細內容,更多請關注php中文網其它相關文章!
學習教程快速掌握從入門到精通的SQL知識。