MySQL主从复制常见故障及解决方法?
1.1.1故障1:从库数据与主库冲突
1
2
3
4
5
6
|
show slave status; 报错:且show slave status\G
Slave_I
/O_Running
:Yes
Slave_SQL_Running:No
Seconds_Behind_Master:NULL
Last_error:Error
'Can'
t create database
'xiaoliu'
; database exists' on query. Default
database:
'xiaoliu'
.query:
'create database xiaoliu'
|
解决方案:
###方法1:
1
2
|
stop slave;
set
global sql_slave_skip_counter = 1;
#将同步指针向下移动一个,如果多次不同步可以重复操作
|
###方法2:在从库配置文件中配置,直接跳过不影响业务的错误号
1
2
|
grep
slave-skip
/etc/my
.cnf
slave-skip-errors = 1032,1062,1007
|
1.1.2故障2:MySQL主从复制延迟问题原因和解决方案
问题1:主库的从库太多,导致复制延迟
从库数量一般 3—5个为宜,要复制的节点过多,导致复制延迟。
问题2:从库硬件配置比主库差,导致延迟
查看Master和Slave的配置,可能因为配置不当导致复制的延迟
问题3:慢SQL语句过多
假如一条语句执行时间超过2秒, 就需要进行优化进行调整
问题4:主从复制设计问题
主从复制单线程,如果主库的写入并发太大,来不及传送到从库,就会导致延迟,更高版本的MySQL可以支持多线程复制,门户网站则会自己
开发多线程同步功能。
问题5:主从库之间的网络延迟
主从库网卡、网线、连接的交换机等网络设备都可能成为复制的瓶颈,导致复制延迟,另外跨公网主从复制很容易导致主从复制延迟。
问题6:主库读写压力大,导致复制延迟
主库硬件要好一些,架构前端要加buffer缓存层。
今天是每日一题陪伴大家的第38天,期待你的进步。
对于题目和答案的任何疑问,请在博客评论区留言。
往期题目索引
http://lidao.blog.51cto.com/3388056/1914205
本文转自 李导 51CTO博客,原文链接:http://blog.51cto.com/lidao/1920297