您好,登錄后才能下訂單哦!
這篇文章主要介紹“Mysql主機斷電導致復制出錯 server_errno=1236怎么解決”,在日常操作中,相信很多人在Mysql主機斷電導致復制出錯 server_errno=1236怎么解決問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Mysql主機斷電導致復制出錯 server_errno=1236怎么解決”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
機房某臺服務器短路,造成整個機柜跳閘。其中數臺服務器是mysql的數據庫主機,結果重啟后,slave的db上都發現復制停止,err里發現下面的信息:
[ERROR] Error reading packet from server: Client requested master to start replication from impossible position ( server_errno=1236)
[ERROR] Got fatal error 1236: 'Client requested master to start replication from impossible position' from master when reading data from binary log
[Note] Slave I/O thread exiting, read up to log 'mysql-bin.000008', position 753871857
這個是比較著名的mysql的bug,斷電以后master重新生成了binlog,而slave不知道,仍然試圖去讀取舊的binlog的之后的內容,造成了復制錯誤,重新change master一下:
CHANGE MASTER TO
MASTER_HOST='192.168.1.184',
MASTER_USER='rep',
MASTER_PASSWORD='rep',
MASTER_LOG_FILE='mysql-bin.000009',
MASTER_LOG_POS=4;
就ok了。
后來又發現很多slave因為duplicate key停止了,為了讓db先跑起來,用了--slave-skip-errors
剛以為沒事了,網絡故障導致內網網絡風暴。。。。。所有服務器內網都開始阻塞,應用基本都癱瘓了。一邊讓IDC去機房排錯。一邊開始準備調整db和前端走外網地址,沒辦法,一小時200w啊。。。
change master的方法是:
1.stop slave
2.備份下master.info
3.使用完整的change master 語句修改復制配置:
CHANGE MASTER TO
MASTER_HOST='222.74.100.184',
MASTER_USER='rep',MASTER_PASSWORD='reper',
MASTER_LOG_FILE='HBDB184-bin.073',
MASTER_LOG_POS=258096961;
4.show slave statusG 確認修改信息生效后,start slave
如果僅僅運行CHANGE MASTER TO MASTER_HOST='222.74.100.184';可能導致MASTER_LOG_FILE被自動設置為'HBDB184-bin.001'哦
接下來還要添加外網的rep用戶,調整防火墻,添加應用用戶的外網帳戶,弄到一般,機房那里來消息,好了- -!
到此,關于“Mysql主機斷電導致復制出錯 server_errno=1236怎么解決”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。