负载突然拔高
慢查询造成磁盘 io 爆炸
- mysql 输出大量日志
- mysql 进行大批量写
- 慢查询产生大量磁盘临时表
主从复制异常
主从连接不上
- 主从服务器之间网络是否畅通
- ping
- 是否存在防火墙,过滤了数据库端口
- telnet
- 复制链路配置的用户名和密码是否正确,是否有对应的权限
主从复制不一致
- 前提
- 主从数据延迟为 0
show slave status;
IO_THREAD 和 SQL_THREAD 状态都为 YES
- 但是主从中相同查询查出来的结果不一致
可能
- 对从服务器进行了写操作
- read_only=on
- super_read_only=on (5.7后)
- 使用了 statement 格式的复制
- log_format=ROW
使用了 sql_slave_skip_counter 或者 注入空事务的方式修复错误
- 大杀器,percona toolkit 的
pt_table_sync
修复数据pt-table-sync —execute —charset=utf8mb4 \ —database=db —table=tb \ —sync-to-master \ h=
, u= , p=
- 大杀器,percona toolkit 的
- 对从服务器进行了写操作
主从冲突
show slave status;
- 发现提示主键冲突
- 跳过故障数据
- 检查主从数据一致性
- 直接删除从库主键冲突数据 (推荐)