MySQL資料庫主從同步做了有1年,期間遇到一些錯誤,自己查資料摸索解決
和大家分享一下
1 如果:Slave_IO_Running=NO,Slave_SQL_Running=YES,Last_Errno=0
mysql> slave stop ;
mysql> slave start;
mysql> show slave status ;
如果Slave_IO_Running=YES,Slave_SQL_Running=YES,Last_Errno=0
那麼,資料庫的replication已經成功啟動。
2 如果提示有duplicated資料,直接delete那條資料之後的,然後
mysql> slave stop ;
mysql> slave start;
mysql> show slave status ;
如果Slave_IO_Running=YES,Slave_SQL_Running=YES,Last_Errno=0
那麼,資料庫的replication已經成功啟動。
3 如果還不行,查看錯誤記錄檔,看看是卡在那個binlog上了,比如 : 卡在000079
則:
SLAVE STOP;
CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000080', MASTER_LOG_POS=0;
SLAVE START;
4 如果錯誤提示: [mysql]Table tblName is marked as crashed and should be repaired
Mysql提示tblName表格已損壞,需要修複,解決方案:
進入到對應的資料庫目錄:
cd /var/lib/mysql/dbname
使用myisamchk修複:
shell> myisamchk -r tblName
如果提示failed
shell> myisamchk -f tblName
強制修複
恢復比較長,耐心等待修複完成
然後重啟mysql就行