解決方法:1、利用“set GLOBAL SQL_SLAVE_SKIP_COUNTER=1”語(yǔ)句跳過錯(cuò)誤;2、在“my.cnf”文件中的mysqld下添加“slave_skip_errors = 1062”后重新啟動(dòng)mysql即可。
本教程操作環(huán)境:windows10系統(tǒng)、mysql8.0.22版本、Dell G3電腦。
mysql錯(cuò)誤1062怎么解決
mysql在主從復(fù)制過程中,由于各種的原因,從服務(wù)器可能會(huì)遇到執(zhí)行BINLOG中的SQL出錯(cuò)的情況,在默認(rèn)情況下,服務(wù)器會(huì)停止復(fù)制進(jìn)程,不再進(jìn)行同步,等到用戶自行來(lái)處理。
slave-skip-errors的作用就是用來(lái)定義復(fù)制過程中從服務(wù)器可以自動(dòng)跳過的錯(cuò)誤號(hào),當(dāng)復(fù)制過程中遇到定義的錯(cuò)誤號(hào),就可以自動(dòng)跳過,直接執(zhí)行后面的SQL語(yǔ)句
mysql主從庫(kù)同步錯(cuò)誤:1062 Error ‘Duplicate entry ‘1438019’ for key ‘PRIMARY’’ on query
mysql主從庫(kù)在同步時(shí)會(huì)發(fā)生1062 Last_SQL_Error: Error ‘Duplicate entry ‘的問題:顯然這個(gè)問題是因?yàn)椴迦胫貜?fù)主鍵導(dǎo)致從庫(kù)不工作了
方法一:可以用這個(gè)跳過錯(cuò)誤
解決的辦法是在從庫(kù)上執(zhí)行:
mysql> slave stop; mysql> set GLOBAL SQL_SLAVE_SKIP_COUNTER=1; mysql> slave start;
方法二:修改mysql配置文件,讓他自己跳過
修改mysql配置文件 /etc/my.cnf
在 [mysqld]下加一行 slave_skip_errors = 1062
保存重啟mysql
擴(kuò)展知識(shí):
一些error code代表的錯(cuò)誤如下:
-
1007:數(shù)據(jù)庫(kù)已存在,創(chuàng)建數(shù)據(jù)庫(kù)失敗
-
1008:數(shù)據(jù)庫(kù)不存在,刪除數(shù)據(jù)庫(kù)失敗
-
1050:數(shù)據(jù)表已存在,創(chuàng)建數(shù)據(jù)表失敗
-
1051:數(shù)據(jù)表不存在,刪除數(shù)據(jù)表失敗
-
1054:字段不存在,或程序文件跟數(shù)據(jù)庫(kù)有沖突
-
1060:字段重復(fù),導(dǎo)致無(wú)法插入
-
1061:重復(fù)鍵名
-
1068:定義了多個(gè)主鍵
-
1094:位置線程ID
-
1146:數(shù)據(jù)表缺失,請(qǐng)恢復(fù)數(shù)據(jù)庫(kù)
-
1053:復(fù)制過程中主服務(wù)器宕機(jī)
-
1062:主鍵沖突 Duplicate entry ‘%s’ for key %d
推薦學(xué)習(xí):mysql視頻教程