记录一次生产中mysql主备延迟问题处理

登录库: mysql -uXXXX -p'XXXX' -P3306 -hXXXXXX -A

备库上执行:show slave status\G

查看 seconds_Behind_Master,延迟 2705s,而且还一直在增加。

复制代码
SHOW CREATE TABLE proc_i_income_temp;  -- 查看表的结构
show index from proc.proc_i_income_temp;  --查询表是否有索引

发现表是没有创建索引。

使用mysqlbinlog获取当前卡住的binlog日志里的具体sql

把/data/mariadb/mysql-relay-bin.000336文件路径换成你数据库实际的binlog日志路径,然后输出到一个文本里找到对应的sql。

mysqlbinlog --base64-output=decode-rows -v /data/mariadb/mysql-relay-bin.000336 > out.sql

知道具体的执行语句后,根据具体执行的 sql 对执行的表进行索引创建。

查询表的行数

复制代码
select count(*) from proc.proc_i_income_temp;

使用 distinct 去重,发现字段 boss_serial_number,适合做索引字段。

在备库中停止复制进程,stop slave

创建索引

在拉起复制进程,start slave

检查 relay_log_pos 是否变化。

再检查主备延迟情况,主备延迟瞬间恢复。

相关推荐
老邓计算机毕设3 小时前
SSM学生选课系统xvbna(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·学生选课系统·ssm 框架·高校教学管理
枷锁—sha4 小时前
【PortSwigger Academy】SQL 注入绕过登录 (Login Bypass)
数据库·sql·学习·安全·网络安全
东城绝神4 小时前
《Linux运维总结:基于ARM64+X86_64架构使用docker-compose一键离线部署MySQL8.0.43 NDB Cluster容器版集群》
linux·运维·mysql·架构·高可用·ndb cluster
逍遥德6 小时前
PostgreSQL 中唯一约束(UNIQUE CONSTRAINT) 和唯一索引(UNIQUE INDEX) 的核心区别
数据库·sql·postgresql·dba
工业甲酰苯胺6 小时前
字符串分割并展开成表格的SQL实现方法
数据库·sql
科技块儿6 小时前
IP定位技术:游戏反外挂体系中的精准识别引擎
数据库·tcp/ip·游戏
衫水6 小时前
[特殊字符] MySQL 常用指令大全
数据库·mysql·oracle
卓怡学长6 小时前
m115乐购游戏商城系统
java·前端·数据库·spring boot·spring·游戏
小句7 小时前
SQL中JOIN语法详解 GROUP BY语法详解
数据库·sql
阿杰 AJie8 小时前
MySQL 里给表添加索引
数据库·mysql