mysql主从常见异常问题解决

mysql主从常见异常问题解决

1.问题一:主从复制,中继日志不断增长,如何设置中继日志自动清除

vi 配置文件my.cnf,在mysqld下增添

relay_log_purge=1 (自动清除中继日志打开)

重启mysql,这样SQL Thread每执行完一个events时才会判断该relay-log是否需要,已经不再需要则自动删除

2.问题二:主从同步失败,如何快速同步?

跳过错误,继续同步。设置SQL_slave_skip_counter=1;来快速恢复主从架构,但是此时主从架构的数据可能已经不一致了。set global sql_slave_skip_counter=N; 当N等于1时,表示跳过若干个event,直到当前事务结束,而当N大于1时,每跳过一个event,都要N--设置--slave-skip-errors=[ err_code1[,err_code2][,all]] 跳过出现指定错误的SQL.如果要断开主从架构,应先stop slave io_thread;等待执行完relay log里的内容再stop slave;

3.问题三: io线程始终保持为connecting状态

主从架构中,从库的io_thread一直保持connecting状态。先理解Slave_IO_Running 为connecting,的含义。造成的主要有三个:

1、网络不通 (是否打开防火墙)

2、复制用户的密码不对 (主从同步指定的用户密码主机名限制)

3、pos不对 (指定的position不正确)

4.主键冲突,报1062错误

主从架构中,从库复制报1062错误,主键冲突。如果binlog是基于语句级复制,很容易出现上面的问题。设置innodb_autoincr_lock_mode=0或是1或修改binlog_format=mixed|row

5.从库同步慢

主从架构中,从库的同步数据非常慢。出现主从同步慢的原因有:

1.主从同步延迟与系统时间的关系,查看主从两台机器间系统时间差

2.主从同步延迟与压力、网络、机器性能的关系,查看从库的io,cpu,mem及网络压力

3.主从同步延迟与lock锁的关系(myisam表读时会堵塞写),尽量避免使用myisam表。一个实例里面尽量减少数据库的数量。

6. change master时报错ERROR 1201 (HY000)

表现:在搭建主从时,报1201错误 。ERROR 1201 (HY000): Could not initialize master info structure; more error messages can be found in the MySQL error log

解决方法:出现这个问题的原因是之前曾做过主从复制!需要reset slave后再change