Mysql跳過主從同步錯誤


方法一: 適用於5.5版本

mysql>slave stop;
mysql>SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1        #跳過一個事務
mysql>slave start

方法二: 通用

下載percona-toolkit(centos 7版本rpm包)
#wget https://www.percona.com/downloads/percona-toolkit/3.0.10/binary/redhat/7/x86_64/percona-toolkit-3.0.10-1.el7.x86_64.rpm
下載percona-toolkit源碼包
# wget https://www.percona.com/downloads/percona-toolkit/3.0.10/binary/tarball/percona-toolkit-3.0.10_x86_64.tar.gz



基礎依賴安裝:
#yum install perl-devel perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker  perl-DBI  perl-DBD-MySQL perl-IO-Socket-SSL perl-Digest-MD5 perl-TermReadKey.x86_64

rpm安裝
#rpm -ivh percona-toolkit-3.0.10-1.el7.x86_64.rpm

編譯安裝
# perl Makefile.PL
# make && make install

命令使用
#pt-slave-restart  --user=root --password=XXXX  --socket=/r2/mysqldata/mysql.sock  --error-numbers=1062

pt-slave-restart的使用
mysql主從同步遇到問題,指定跳過某個錯誤。對於開啟GTID的復制進程也有用。
可以跳過所有錯誤,但是是否要執行跳過操作,要看錯誤提示和業務要求。
#./pt-slave-restart  --user=root --password=dkqb5ilwv9rKe~riBgqa  --socket=/r2/mysqldata/mysql.sock  --error-numbers=1062

但是對於mysql5.6以后,開啟了多線程復制的,就不能跳過錯誤,會報錯:
Cannot skip transactions properly because GTID is enabled and slave_parallel_workers > 0.  See 'GLOBAL TRANSACTION IDS' in the tool's documentation.
解決辦法:
mysql> set global slave_parallel_workers=0;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM