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