mysql断开同步并记录位置_数据库同步自动断开问题的处理
堡壘機的實施過程中,因為做了雙機,所以要對兩臺堡壘機進行數據庫的主從同步和HA配置。
在部署完mysql主從同步以后,發現同步會有中斷的現象。
中斷表現為
Slave_IO_Running: Yes
Slave_SQL_Running: No
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 1062
經過排查,發現了引起這一問題的原因。由于在在實施階段,每次對堡壘機進行測試,都要分別對兩臺機器進行訪問操作,執行相應的堡壘機功能。在配置mysql主從同步的時候,將wssg_system_params這張表里面的linux-hos 改為了10.2.29.216(HA的VIP)。由于兩個庫里面全是216這個地址,且HA活動在209機器上面,在直接訪問210的時候,這個表里面的地址是失效的,但是訪問記錄還是會產生,導致wssg_dcmdhis這張表里面的主鍵自增長,不能正常同步。
解決辦法1(有效,但是不能再對wssg_system_params和wssg_serverregister這兩張表進行修改,不然數據會同步以后出錯)
# A B
服務器停止同步
STOP SLAVE;
# A B
服務器清空Master日志
RESET MASTER;
# A B 服務器鎖表(鎖表狀態下不能終止mysql進程,否則會失敗)
FLUSH TABLES WITH READ LOCK;
將209的數據導入到210.
# 查看A 服務器主機狀態(記錄二進制開始文件,位置,下面需要用到)
SHOW MASTER STATUS;
# 修改B 服務器配置
CHANGE MASTER TO
MASTER_HOST='10.2.29.209',MASTER_USER=’backup’,
MASTER_PASSWORD='itc123',MASTER_LOG_FILE=’binlog.000001′,MASTER_LOG_POS=107;
# 開啟B 服務器同步進程
START SLAVE;
# 查看B 服務器同步狀態是否正常
SHOW SLAVE STATUS;
#查看B 服務器主機(記錄二進制開始文件,位置)
SHOW MASTER STATUS;
# 修改A 服務器配置
CHANGE MASTER TO MASTER_HOST=’10.2.29.210′,MASTER_USER=’backup’,MASTER_PASSWORD=’itc1
23′,MASTER_LOG_FILE=’binlog.000001′,MASTER_LOG_POS=107;
# 開啟A 服務器同步進程
START SLAVE;
# 分別查看A B
服務器同步狀態,確定是否成功
SHOW SLAVE STATUS;SHOW MASTER STATUS;
# 解鎖A B 服務器
UNLOCK TABLES;
通過這個辦法能是同步從當前時刻開始,兩臺機器里面的表數據,有改動的,就會有被同步。所以這個辦法要求不能修改以上相關的那兩張表
解決辦法2(采取忽略掉關鍵表的方式進行同步。理論上最合適的方案,但我做的時候會將我忽略的表刪除掉,很詭異,等我熟悉了mysql同步表忽略機制以后,在進行補充)
總結
以上是生活随笔為你收集整理的mysql断开同步并记录位置_数据库同步自动断开问题的处理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 索尼电视怎么点亮杜比
- 下一篇: xml mysql 模糊查询_mybat