(1)IO线程故障: 1、主库连接不上(当发现错误了后,不能直接change master to ) user、password、port、ip 错误
解决方案:
stop slave;
reset slave all;
change master to
start slave;
防火墙或者网络不通
解决方法:
skip-name-resolve
stop slave;
start slave;
2、主库二进制日志丢失或损坏
解决方案:
stop slave;
reset slave all;
重新备份恢复
change master to
start slave;
(2)SQL线程故障: 执行relaylog日志新事件 1、删除、修改对象的操作时,没有这个对象(比如:主库有一个表,对这个表做操作时,从库里没有这个表) 2、创建对象时,对象已存在 3、主键冲突(主键的特性:不为空,并且唯一) 从库做写入操作,会导致以上问题出现
处理方法:
stop slave;
set global sql_slave_skip_counter = 1;
start slave;
/etc/my.cnf
slave-skip-errors = 1032,1062,1007
*** 但是,以上操作有时是有风险的,最安全的做法就是重新构建主从。
怎么预防以上问题?从库加入配置文件
set global read_only=1; //临时,即时生效
vim /etc/my.cnf
read_only=1 ---->只能控制普通用户,管理员用户还是有写入操作