1. 程式人生 > >Mysql DBA 高級運維學習筆記-MySQL主從復制故障解決

Mysql DBA 高級運維學習筆記-MySQL主從復制故障解決

解決 .cn 行修改 大數據庫 soc 內存 回滾 root 錯誤號

1.MySQL從庫數據沖突導致同步停止

Show slave status報錯
且show slave status\G

Slave_IO_Running: Yes
Slave_SQL_Running: NO
Seconds_Behind_Master: NULL
Last_Error:Error ‘Can’t create database ‘linzhongniao’;database exists’on query.
Default database:’linzhongniao’.Query:‘create database linzhongniao’

解決方法:

方法一:

Stop slave
Set global sql_slave_skip_counter=1
Start slave

(1)對於普通的互聯網業務,忽略問題不是很大,當然要確認不影響公司業務的前提下。

(2)企業場景解決主從同步,比主從不一致對當前業務更重要。如果主從數據一致很重要找個時間恢復一下這個從庫。

方法二:根據錯誤號跳過指定的錯誤

[root@mysql ~]# grep skip /data/3306/my.cnf

skip-name-resolve 忽略名稱解析解決mysql連接慢的問題。

slave-skip-errors = 1032,1062 一般由於入庫重復導致的失敗就可以忽略。

當然也可以將slave-skip-errors的值設置為all,這樣就會導致主從庫數據同步數據缺失。我們可以參考mysql常見錯誤代碼來設置我們想要忽略的錯誤號,還可以通過錯誤號解決mysql出現故障。

mysql常見錯誤代碼:

1005:創建表失敗

1006:創建數據庫失敗

1007:數據庫已存在,創建數據庫失敗<=================可以忽略

1008:數據庫不存在,刪除數據庫失敗<=================可以忽略

1009:不能刪除數據庫文件導致刪除數據庫失敗

1010:不能刪除數據目錄導致刪除數據庫失敗

1011:刪除數據庫文件失敗

1012:不能讀取系統表中的記錄

1020:記錄已被其他用戶修改

1021:硬盤剩余空間不足,請加大硬盤可用空間

1022:關鍵字重復,更改記錄失敗

1023:關閉時發生錯誤

1024:讀文件錯誤

1025:更改名字時發生錯誤

1026:寫文件錯誤

1032:記錄不存在<=============================可以忽略

1036:數據表是只讀的,不能對它進行修改

1037:系統內存不足,請重啟數據庫或重啟服務器

1038:用於排序的內存不足,請增大排序緩沖區

1040:已到達數據庫的最大連接數,請加大數據庫可用連接數

1041:系統內存不足

1042:無效的主機名

1043:無效連接

1044:當前用戶沒有訪問數據庫的權限

1045:不能連接數據庫,用戶名或密碼錯誤

1048:字段不能為空

1049:數據庫不存在

1050:數據表已存在

1051:數據表不存在

1054:字段不存在

1062:字段值重復,入庫失敗<==========================可以忽略

1065:無效的SQL語句,SQL語句為空

1081:不能建立Socket連接

1114:數據表已滿,不能容納任何記錄

1116:打開的數據表太多

1129:數據庫出現異常,請重啟數據庫

1130:連接數據庫失敗,沒有連接數據庫的權限

1133:數據庫用戶不存在

1141:當前用戶無權訪問數據庫

1142:當前用戶無權訪問數據表

1143:當前用戶無權訪問數據表中的字段

1146:數據表不存在

1147:未定義用戶對數據表的訪問權限

1149:SQL語句語法錯誤

1158:網絡錯誤,出現讀錯誤,請檢查網絡連接狀況

1159:網絡錯誤,讀超時,請檢查網絡連接狀況

1160:網絡錯誤,出現寫錯誤,請檢查網絡連接狀況

1161:網絡錯誤,寫超時,請檢查網絡連接狀況

1169:字段值重復,更新記錄失敗

1177:打開數據表失敗

1180:提交事務失敗

1181:回滾事務失敗

1203:當前用戶和數據庫建立的連接已到達數據庫的最大連接數,請增大可用的數據庫連接數或重啟數據庫

1205:加鎖超時

1211:當前用戶沒有創建用戶的權限

1216:外鍵約束檢查失敗,更新子表記錄失敗

1217:外鍵約束檢查失敗,刪除或修改主表記錄失敗

1226:當前用戶使用的資源已超過所允許的資源,請重啟數據庫或重啟服務器

1227:權限不足,您無權進行此操作

1235:MySQL版本過低,不具有本功能

Mysql DBA 高級運維學習筆記-MySQL主從復制故障解決