亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

mysql 部分故障及解決方案

標簽:
MySQL

mysql 部分故障及解决方案

  • 本文主要记录使用 mysql 可能会碰到的一些问题,以及探索相关解决方法

lock wait timeout exceeded

  • 环境:问题故障发生在本地局域网主机上安装的 mysql8.0,跑在 docker 中

  • 问题描述:本地应用连接时,查询什么的还好,但是修改数据的时候报错,错误信息是lock wait timeout exceeded; try restarting transaction

  • 排查:很明显是因为执行更新语句引起的,报错的意思是超过了锁定等待超时时间;尝试重新启动事务

  • 解决:参考 https://blog.csdn.net/zc474235918/article/details/72731363 按照文中指示,执行SELECT * FROM information_schema.innodb_trx查询正在运行的事务,。可以看到,这个事务状态是运行状态,并不是锁等待状态,也就是并无异常。正常情况下,如果是被锁的话 kill 掉就行,拿到trx_mysql_thread_id,即事务线程 id,运行kill 2333即可(自行替换线程 id)

  • 后续:很明显这里并不是这么简单的问题,状态无问题但是仍然报错。于是我尝试新增一条数据,结果情况一样,插入超时,并且多了一条情况差不多的事务。于是尝试 kill 掉事务线程,结果立马报错Lost connection to MySQL server at 'reading initial communication packet', system error: 0,请看下一节

Lost connection to MySQL server at ‘reading initial communication packet’, system error: 0

  • 问题描述:可以理解为由于 kill 掉了一个事务线程,导致需要重新连接,正常情况出现这种问题应该也是某一次发起连接的过程

  • 排查:参考: http://aiezu.com/article/mysql_error_at_reading_initial_communication_packet.html 报错信息表达的意思是在读取初始通信包时与 MySQL 服务器的连接断开。可能的原因有很多,但这里是测试环境,负载和连接不多,而且昨天还能用,那可能的原因就是资源不足了。查看了日志,果然是磁盘资源不够,所以只能读取,不能插入和修改

后续

  • 解决完问题,让我突然想起了员工辞职的主要两大理由:钱给的不够和干的不爽。是啊,服务好好的突然挂了,罢工了,是不是资源给的不够多,cpu 内存不够用了,亦或是并发量太大网络不好搞得她压力很大让她很不爽

  • 所以我们应该时刻关注服务的健康状态,了解她们的需求,不要“又要马儿跑,又要马儿不吃草”

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
全棧工程師
手記
粉絲
30
獲贊與收藏
171

關注作者,訂閱最新文章

閱讀免費教程

  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消