主从复制基本故障处理
IO线程
主库
1)user password ip port
2)网络:不通,延时高,防火墙
https://www.cndba.cn/xty/article/3459
请求binlog
1)binlog不存在或者损坏
更新relay-log和master.info
SQL线程
1)relay-log出现问题
2)从库做写入了
操作对象已存在(create)
操作对象不存在(insert update delete drop truncate alter)
约束问题、数据类型、列属性
处理方法一:
https://www.cndba.cn/xty/article/3459
临时停止同步
mysql> stop slave;
将同步指针向下移动一个(可重复操作)
mysql> set global sql_slave_skip_counter=1;
https://www.cndba.cn/xty/article/3459
https://www.cndba.cn/xty/article/3459
开启同步
mysql> start slave;
处理方法二:
https://www.cndba.cn/xty/article/3459
编辑配置文件
vim /etc/my.cnf
在[mysqld]标签下添加以下参数
slave-skip-errors=1032,1062,1007
但是以上操作都是有风险存在的
处理方法三:
1)重新备份数据库,恢复到从库
2)给从库设置为只读
在命令行临时设置
mysql> set global read_only=1;
在配置文件中永久生效/etc/my.cnf
read_only=1
6.延时从库
企业中一般会延时3-6小时
延时从库配置方法
从库操作
停止主从
mysql>stop slave;https://www.cndba.cn/xty/article/3459
https://www.cndba.cn/xty/article/3459
设置延时为180秒
mysql>change master to master_delay = 180;
开启主从
mysql>start slave;
https://www.cndba.cn/xty/article/3459
查看状态
mysql> show slave status /G
SQL_Delay: 60
3.延时从库停止方法https://www.cndba.cn/xty/article/3459
停止主从
mysql> stop slave;https://www.cndba.cn/xty/article/3459
设置延时为0
mysql> CHANGE MASTER TO MASTER_DELAY = 0;
开启主从
mysql> start slave;
关闭半同步:
主库执行
SET GLOBAL rpl_semi_sync_master_enabled = 0;
SET GLOBAL rpl_semi_sync_master_wait_no_slave = 0;
从库执行:
SET GLOBAL rpl_semi_sync_slave_enabled = 0;
版权声明:本文为博主原创文章,未经博主允许不得转载。