记录一次生产中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 是否变化。

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

相关推荐
czlczl2002092538 分钟前
Redis数据编码
数据库·redis·缓存
Wpa.wk40 分钟前
pb协议接口测试
数据库·redis·缓存
IpdataCloud1 小时前
资源受限设备上轻量级IP查询模块的部署方法
网络·数据库·网络协议·tcp/ip
青槿吖1 小时前
SpringMVC通关秘籍(下):日期转换器、拦截器与文件上传的奇幻冒险
java·开发语言·数据库·sql·mybatis·状态模式
楼田莉子1 小时前
MySQL数据库:表及其表相关的操作
数据库·学习·mysql
ZTLJQ1 小时前
驾驭高并发:Python协程与 async/await 完全解析
服务器·数据库·python
百年੭ ᐕ)੭*⁾⁾1 小时前
DataFrame存入mysql以及读取操作
数据库·mysql·numpy·pandas·ipython
²º²²এ松1 小时前
vs code连接ubuntu esp项目
linux·数据库·ubuntu
Maverick062 小时前
02-SQL执行计划与优化器:Oracle是怎么决定“该怎么查“的
数据库·sql·oracle·ffmpeg