mysql主從同步常見異常及恢復方法mysql
1. 通常的異常只須要跳過一步便可恢復sql
>slave stop;vim
>SET GLOBAL sql_slave_skip_counter = 1;服務器
>slave start;post
2.斷電致使主從不能同步時,通主庫的最後一個bin-log日誌進行恢復日誌
在主庫服務器上,mysqlbinlog mysql-bin.xxxx > binxxxx.txtip
tail -n 100000 binxxxx.txt > tail-binxxxx.txt同步
vim tail-binxxxx.txt 打開tail-binxxxx.txt文件找到最後一個postion值io
而後在從庫上,change host to 相應正確的值ast
>slave stop;
>change master to master_host='ip', master_user='username', master_password='password', master_log_file='mysql-bin.xxxx', master_log_pos=xxxx;
>slave start;
>show slave status\G;
3.主鍵衝突、表已存在等錯誤代碼如1062,1032,1060等,能夠在mysql主配置文件指定
略過此類異常並繼續下條sql同步,這樣也能夠避免不少主從同步的異常中斷
[mysqld]
slave-skip-errors = 1062,1032,1060