
Mysql 故障处理
文章平均质量分 90
mysql故障处理
雅冰石
DBA
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
ERROR 1205 (HY000): Lock wait timeout exceeded
一 问题描述执行一个普通的update报错:ERROR 1205 (HY000): Lock wait timeout exceeded二 排查思路查看是否有阻塞:SELECT p2.`HOST` Blockedhost,p2.`USER` BlockedUser,r.trx_id BlockedTrxId, r.trx_mysql_thread_id BlockedThreadId, TIMESTAMPDIFF...原创 2021-09-23 18:07:19 · 761 阅读 · 0 评论 -
ERROR 1548 (HY000): Cannot load from mysql.proc. The table is probably corrupted
一 问题描述往一个5.5.29版本的mysql数据库的普通表里插入数据时,报错:ERROR 1548 (HY000): Cannot load from mysql.proc. The table is probably corrupted我repair table后也不管用。二 出错原因数据库估计最近升级过版本。在5.1中mysql.proc表的comment字段是char(64):,但在5.5中应该是text三 解决办法修改comment数据类型为text。先看下现有原创 2021-03-23 17:51:39 · 715 阅读 · 0 评论 -
mysql主从复制报错:the master has purged binary logs containing GTIDs that the slave requires
方法一具体案例:拓扑架构为A->B->C,假如从库C的复制报错了,原因:需要的binlog在B上被purge掉了,而A上的binlog完整无损。解决办法:将C指向A进行复制。在C上执行:stop slave;change master to master_host='A的IP',master_port=A的端口号,MASTER_USER='RepUser',MASTE......原创 2020-03-13 14:57:41 · 7575 阅读 · 1 评论 -
通过mysql 5.7的新特性query rewrite临时处理故障,紧急恢复业务
一 背景有时会有大量慢查询日志(不是单单加索引就能搞定的哦),导致整个数据库的性能都受到影响。这时候怎么办?这时候你需要MySQL5.7新特性query_rewrite _Plugin插件了,可以改写sql。有时可将某个慢查询改成select 1,示例:INSERT INTO query_rewrite.rewrite_rules(pattern, replacement, pa...转载 2020-01-10 09:55:35 · 859 阅读 · 0 评论 -
Too many open files in system
一:问题描述收到邮件报警,说一台服务器的mysql连不上了。我手动试了下,连接半个多小时了,mysql一直连接不上,且未反馈错误信息。错误日志报错:1611289:50:18 [ERROR] Error in accept: Too many open files in system1611289:54:34 [ERROR] Error in accept: Too m...原创 2016-11-28 13:56:05 · 8075 阅读 · 0 评论 -
ERROR 1872 (HY000): Slave failed to initialize relay log info structure from the repository
【问题描述】备库数据库重启后,发现从库复制未启动,手动启动复制,报错:mysql> start slave;ERROR 1872 (HY000): Slave failed to initialize relay log info structure from the repository【故障原因】MTS(并行复制)产生了gap事务,但还未恢复详细可以参考这篇...转载 2019-12-20 15:36:42 · 2416 阅读 · 0 评论 -
Waiting for table flush故障处理
一 原理总结官方手册中关于Flush tables的介绍:Closes all open tables, forces all tables in use to be closed, and flushes the query cache. FLUSH TABLES also removes all query results from the query cache, like the ...原创 2019-12-04 14:00:33 · 5322 阅读 · 0 评论 -
频繁全表扫描导致cpu使用率飙升故障处理
一:问题描述今天早晨收到邮件告警,提示有台数据库服务器的cpu使用率在50%-70%间波动,有几个瞬间达到了90多。通过巡检数据库,发现有两处异常:① 故障期间的慢查询日志其中90%的慢查询来自于同一个sql:在半个小时内执行了2779次该sql。虽然sql单条执行不算很慢,只有2秒。但是执行次数太过频繁。查看执行计划,发现走了全表扫描,该表数据量有200万。相当于...原创 2019-09-29 10:48:51 · 2134 阅读 · 0 评论 -
重复值较高的列上创建了索引导致cpu使用率较高问题处理
一 问题描述今天上午发现有台生产环境服务器的cpu使用率在30%~50%左右,分析了下早晨8点到估值时刻之间的慢查询日志。top1 SQL信息如下:执行计划如下:感觉post表的rows扫描条数比较多,有点可疑。看下该索引Cardinality,发现只有88,说明重复值比较高,不适合建索引。二 优化方法-改成强制不走该索引或删除该索引S...原创 2019-09-27 11:42:40 · 827 阅读 · 0 评论 -
binlog日志太多太大耗尽磁盘空间导致mysql卡死的问题解决
一:问题描述今天有同事反馈,数据库卡死了,普通的一个带limit 1只反馈一条记录的查询都好久查不出来。我查了一下,当前并没有阻塞信息,所以不是锁竞争导致的。查看错误日志,看到了端倪:160419 17:03:33 [ERROR]/usr/local/mysql/bin/mysqld: Disk is full writing './mysql-bin.000177'(Errcod...原创 2016-04-20 12:54:39 · 8519 阅读 · 0 评论 -
从库crash一直自动重启(mysqld got signal 11)问题解决
一:问题描述今天收到邮件报警,遂进数据库查看slave状态,发现io进程和sql进程都为NO.mysql> show slave status \G;*************************** 1. row*************************** Slave_IO_State: ...原创 2016-05-06 15:54:34 · 9788 阅读 · 0 评论