主从复制故障
2022-12-17 18:37:42 0 举报
AI智能生成
水电费
作者其他创作
大纲/内容
IO线程
Slave-IO_Running状态
Connection
NO
YES
Last_IO_Errno
错误号查找链接
https://blog.csdn.net/qq_36733838/article/details/128355375
Last_IO_Error
重点关注报错信息
常见报错场景
通信
外部网络问题(网络不通/防火墙)
ip\port\user\passwd
处理思路: 使用复制的用户模拟登录
密码不对
请求日志
主库日志缺失
文件名/位置点
主从 server_id/server_uuid重复
重现
通信
日志
reset master
处理思路
stop slave; reset slave all;
change master to; start slave
SQL线程
Slave_SQL_Running
No
YES
Last_IO_Errno
错误号查找链接
https://blog.csdn.net/qq_36733838/article/details/128355375
Last_IO_Error
重点关注报错信息
报错分析
reaylog 回放 (从库被提前误写入)
增删改的对象已经存在
增删改的对象不存在
约束冲突
解决方案
以主库为准,将从库冲突的数据删掉
从库只读
普通用户只读
mysql> set global read_only=1;
配置my.cnf
read_only=1
管理员只读
mysql> set global super_read_only=1;
用户授权
主库授权 用户 select insert update delete权限,从库只授权select
中间件
读写分类
跳过错误
命令行
mysql> stop slave;
mysql> set global sql_slave_skip_counter=1; ##8.0.26好用
mysql> start slave;
配置文件
my.cnf配置跳过错误
slave_skip_errors=1062,1007,1032
主从延时
概念:主库做的事,从库过了很久才做
监控
Seconds_Behind_Master:0
master.info 主库位置点和relay-log执行位置点 show slave status\G
(主库写时间戳,从库读出来和当前时间比对)
原因
外部
硬件差异
资源耗尽
全表扫描
锁问题
大事务
存储过程
网络问题
主库
超大事务或慢语句
IO串行工作
方案:group commit(福鼎时间或激烈固定激烈5.7加入)
从库
单个SQL线程
5.6+多SQL线程(依赖GTID功能)
只能按照库级别并发
5.7+增强了多线程SQL(依赖GTID功能)
只能按照事务级别并发
0 条评论
下一页