MYSQL主從庫不同步故障一例解決方法
更新時間:2010年06月09日 18:25:46 作者:
第一次做完主從庫同步后正常,但工作過程中發(fā)現(xiàn)有一個庫的數(shù)據(jù)庫沒有同步起來,在另外一個mysql(3307)中
于是:
1、在主庫中創(chuàng)建一個臨時庫,將需要導(dǎo)入的表文件復(fù)制過來
2、執(zhí)行
create database tmpdb;
create table tmptable;
cp mysql_date_file master_data_file //shell command 復(fù)制數(shù)據(jù)表文件到master data_dir下
insert into master.tmptable select * from tmpdb.tmptable;
執(zhí)行完后,主庫中數(shù)據(jù)導(dǎo)入正常
再看slave status
show slave status;
發(fā)現(xiàn)錯誤:not found tmpdb.tmptable (大致意思是這個,原來的錯誤信息沒有記錄下來)
匆忙中,看show master status 中Master_Log_Pos 標(biāo)記為$Master_Log_Pos
然后在slave 上 CHANGE MASTER TO MASTER_LOG_POS=$Master_Log_Pos
然后再看show master status,發(fā)現(xiàn)有1162錯誤
到現(xiàn)在發(fā)現(xiàn)兩邊的數(shù)據(jù)不能同步了
。。。。。。
冥思苦想,不會重新做一遍主從庫吧?
mysqlbinlog 我突然想到了它
于是mysqlbinlog --start-position=190000000 --stop-position=200000000 xxx.binlog|grep tmptable
找到了在slave上執(zhí)行錯誤的SQL
mysqlbinlog --start-position=190000000 --stop-position=200000000 xxx.binlog|grep tmptable > /tmp/tmpbinlog
vi /tmp/tmpbinlog (find tmptable)
找到錯誤SQL的下一個# at (一串?dāng)?shù)字)標(biāo)記為$NEXT_POS
在slave 上 CHANGE MASTER TO MASTER_LOG_POS=$NEXT_POS
show slave status 顯示:
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
哈哈,完成同步。
如果中間碰到1062錯誤 在slave配置文件中設(shè)定slave-skip-errors=1062,重啟slave
1、在主庫中創(chuàng)建一個臨時庫,將需要導(dǎo)入的表文件復(fù)制過來
2、執(zhí)行
create database tmpdb;
create table tmptable;
cp mysql_date_file master_data_file //shell command 復(fù)制數(shù)據(jù)表文件到master data_dir下
insert into master.tmptable select * from tmpdb.tmptable;
執(zhí)行完后,主庫中數(shù)據(jù)導(dǎo)入正常
再看slave status
show slave status;
發(fā)現(xiàn)錯誤:not found tmpdb.tmptable (大致意思是這個,原來的錯誤信息沒有記錄下來)
匆忙中,看show master status 中Master_Log_Pos 標(biāo)記為$Master_Log_Pos
然后在slave 上 CHANGE MASTER TO MASTER_LOG_POS=$Master_Log_Pos
然后再看show master status,發(fā)現(xiàn)有1162錯誤
到現(xiàn)在發(fā)現(xiàn)兩邊的數(shù)據(jù)不能同步了
。。。。。。
冥思苦想,不會重新做一遍主從庫吧?
mysqlbinlog 我突然想到了它
于是mysqlbinlog --start-position=190000000 --stop-position=200000000 xxx.binlog|grep tmptable
找到了在slave上執(zhí)行錯誤的SQL
mysqlbinlog --start-position=190000000 --stop-position=200000000 xxx.binlog|grep tmptable > /tmp/tmpbinlog
vi /tmp/tmpbinlog (find tmptable)
找到錯誤SQL的下一個# at (一串?dāng)?shù)字)標(biāo)記為$NEXT_POS
在slave 上 CHANGE MASTER TO MASTER_LOG_POS=$NEXT_POS
show slave status 顯示:
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
哈哈,完成同步。
如果中間碰到1062錯誤 在slave配置文件中設(shè)定slave-skip-errors=1062,重啟slave
相關(guān)文章
MySQL數(shù)據(jù)庫-錯誤1166 Incorrect column name
這篇文章主要介紹了MySQL數(shù)據(jù)庫-錯誤1166 Incorrect column name,需要的朋友可以參考下2016-04-04詳細(xì)聊聊關(guān)于Mysql聯(lián)合查詢的那些事兒
聯(lián)合查詢union將多次查詢(多條select語句)的結(jié)果,在字段數(shù)相同的情況下,在記錄的層次上進(jìn)行拼接,這篇文章主要給大家介紹了關(guān)于Mysql聯(lián)合查詢的那些事兒,需要的朋友可以參考下2021-10-10mysql根據(jù)逗號將一行數(shù)據(jù)拆分成多行數(shù)據(jù)
本文主要介紹了mysql根據(jù)逗號將一行數(shù)據(jù)拆分成多行數(shù)據(jù),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-12-12mysql如何將時間格式化為yyyy-MM-dd或yyyy-MM-dd?HH:mm:ss
這篇文章主要介紹了mysql如何將時間格式化為yyyy-MM-dd或yyyy-MM-dd?HH:mm:ss問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-07-07mysql 關(guān)鍵詞相關(guān)度排序方法詳細(xì)示例分析
以下是對mysql關(guān)鍵詞相關(guān)度排序方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過來參考下2013-08-08MySQL服務(wù)器默認(rèn)安裝之后調(diào)節(jié)性能的方法
在面試MySQL DBA或者那些打算做MySQL性能優(yōu)化的人時,我最喜歡問題是:MySQL服務(wù)器按照默認(rèn)設(shè)置安裝完之后,應(yīng)該做哪些方面的調(diào)節(jié)呢?2011-05-05