mysql,出現同步停止的錯誤的處理
因 'Duplicate entry' 或 非正常關閉mysql, 出現同步停止的錯誤時,可執行下列命令跳過錯誤log,從錯誤log下一條繼續同步:
mysql> SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
mysql> slave start;
非正常關閉mysql而導致的錯誤log 應該不會太多(有次我手動恢復了8條左右)
'Duplicate entry' 就要視情況而定了,如果錯誤log 很多,只能透過停mysql,加 --slave-skip-errors=1062 後重啟
如果一個語句在master上成功了,但是在slave上卻失敗了,並且這時不能做一次完整的資料庫再同步(也就是刪除slave上的資料,重新複製master的快照),那麼試一下:
- 判斷slave的資料表是否和master的不一樣。試著找到怎麼會發生這種情況,然後將slave的表同步成和master一樣之後執行
START SLAVE
。 - 如果上述步驟不生效或者沒有執行,試著這個語句是否能被手工安全地執行(如果有必要),然後忽略master的下一個語句。
- 如果決定要忽略master的下一個語句,只需在slave上提交以下語句:
mysql> SET GLOBAL SQL_SLAVE_SKIP_COUNTER = n;
mysql> START SLAVE;如果下一個語句沒有使用
AUTO_INCREMENT
或LAST_INSERT_ID()
,那麼n
的值應為為1
。否則,它的值為2
。設定為2
是因為AUTO_INCREMENT
或LAST_INSERT_ID()
在master的二進位制日誌中佔用了2條日誌。 - 如果確定slave精確地同步master了,並且沒有除了slave執行緒之外的對資料表的更新操作,則推斷這是因為bug產生的差異。如果是使用最近的版本,請報告這個問題,如果使用的是舊版本,試著升級一下。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7916042/viewspace-1004370/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Qt處理中文編碼出現錯誤QT
- Mysql自動處理同步報錯MySql
- windows10系統出現停止程式碼記憶體管理錯誤怎麼處理Windows記憶體
- go的錯誤處理Go
- axios 的錯誤處理iOS
- 伺服器出現404錯誤怎麼處理伺服器
- grpc中的錯誤處理RPC
- 錯誤處理
- CMake出錯的處理
- Restful API 中的錯誤處理RESTAPI
- 請教 Element 的錯誤處理
- 【譯】RxJava 中的錯誤處理RxJava
- RMAN刪除歸檔日誌出現RMAN-0813錯誤的處理
- MySQL 跳過同步錯誤MySql
- Go 錯誤處理Go
- Python錯誤處理Python
- PHP 錯誤處理PHP
- php錯誤處理PHP
- MySQL問題處理——1040錯誤Too many connectionsMySql
- 錯誤處理:如何通過 error、deferred、panic 等處理錯誤?Error
- 前端的水平線,錯誤處理和除錯前端除錯
- 應用中的錯誤處理概述
- 使用 clearError 清除已處理的錯誤Error
- Bash 指令碼中的錯誤處理指令碼
- 談談RxSwift中的錯誤處理Swift
- 基於 React Redux 的錯誤處理ReactRedux
- Go 的錯誤處理策略 筆記Go筆記
- API的設計(1) - 錯誤處理API
- 如何在 Go 中優雅的處理和返回錯誤(1)——函式內部的錯誤處理Go函式
- go-carbon 1.2.6 版本釋出,優化錯誤處理機制,棄用出錯直接panic的粗暴處理方式Go優化
- 【知識分享】伺服器出現404錯誤怎麼處理伺服器
- Android執行出現android Installation failed due to invalid URI! 錯誤處理AndroidAI
- 線上MYSQL同步報錯故障處理方法總結MySql
- 淺出Vue 錯誤處理機制errorCaptured、errorHandlerVueErrorAPT
- openGauss 處理錯誤表
- mysql多源複製跳過錯誤處理方法MySql
- go-carbon 1.2.6 版本釋出,最佳化錯誤處理機制,棄用出錯直接panic的粗暴處理方式Go
- ES同步Mysql資料庫(包括出現問題怎麼處理哦)MySql資料庫
- async/await 優雅的錯誤處理方法AI