记一次MYSQL主从sql线程not_running故障处理1062

 admin   2022-07-13 11:07   194 人阅读  0 条评论

1062错误——主键冲突,出现这种情况就是从库出现插入操作,主库又插入相同的数据,iothread没问题,sqlthread出错

方法一:对于数据量少的时候适用

  1. 根据唯一性key查找相关记录

  2. master库备份记录

  3. slave库删除重复记录

例如我的提示信息

mysql> select * from performance_schema.replication_applier_status_by_worker\G

然后根据查询到的内容确定问题在哪

 

 方法二:对于数据量大的时候适用

1. 从库操作

show variables like '%slave_exec_mode%';

set global slave_exec_mode='IDEMPOTENT';

stop slave;

start slave;

2. 确认主从无延迟及确认数据一致 操作完后,修改回去-------可以了,改回去(存在数据不一致的风险)

set global slave_exec_mode='STRICT';

stop slave;

start slave;

 

方法三:跳过这个错误

不停机跳过

mysql> stop slave;

#表示跳过一步错误,后面的数字可变,(或者N条event,一条一条跳过)

mysql> set global sql_slave_skip_counter =1;

mysql> start slave;

之后再用

mysql> show slave status/G 查看

停机跳过这个错误,需要重启数据库,以后遇到这个错误也会跳过,在mysql-server.cnf 添加slave-skip-errors=1062, 然后重启数据库就可以了

[root@rocky8 ~]# grep -vE '^#|^$' /etc/my.cnf.d/mysql-server.cnf 
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mysql/mysqld.log
pid-file=/run/mysqld/mysqld.pid
server-id=2
slave-skip-errors=1062

本文地址:https://liuchunjie.top/?id=393
版权声明:本文为原创文章,版权归 admin 所有,欢迎分享本文,转载请保留出处!

 发表评论


表情

还没有留言,还不快点抢沙发?