mysql自身bug导致网站宕机
分类专栏: Mysql&
标签: 宕机mysql自身bug
简介 mysql自身bug导致网站宕机
<p>2023年5月22日——突然接收到网站宕机的邮箱信件,如下:</p>
<p><img src="https://www.bzsdn.com/api/20230524/dbd00aef-a9c3-42f7-9bdc-ed41578e78f0.blob" alt="" /></p>
<p>当时还以为是云服务器或者网站频繁导致的问题,应该过一会儿自己会好,(有时候就会这样很莫名其妙);</p>
<p> 大概过了一会儿, 我打开网站依然不能访问,当时我就有点着急了(内心oss:什么情况,居然打不开了...) </p>
<p>因为我的站点是用jenkins来安装的, 我就重新启动了node-api项目,然后在docker中查看了日志,</p>
<p>显示 <span class="dl" style="font-size: 12px; box-sizing: inherit; color: #333333; font-family: consolas, Courier, 'MS Courier New', monospace; white-space: pre; background-color: #ffffff;">'</span><span class="s1" style="font-size: 12px; box-sizing: inherit; color: #dd1144; font-family: consolas, Courier, 'MS Courier New', monospace; white-space: pre; background-color: #ffffff;">Mongoose connection disconnected</span><span class="dl" style="font-size: 12px; box-sizing: inherit; color: #333333; font-family: consolas, Courier, 'MS Courier New', monospace; white-space: pre; background-color: #ffffff;">'; </span></p>
<p><span class="dl" style="font-size: 12px; box-sizing: inherit; color: #333333; font-family: consolas, Courier, 'MS Courier New', monospace; white-space: pre; background-color: #ffffff;"><img src="https://www.bzsdn.com/api/20230524/81998e94-c948-4449-b25b-10fc6076dccd.blob" alt="" /></span></p>
<p><span class="dl" style="font-size: 12px; box-sizing: inherit; color: #333333; font-family: consolas, Courier, 'MS Courier New', monospace; white-space: pre; background-color: #ffffff;">这时,我还以为是mongodb数据库的问题导致的。 </span><span style="background-color: #ffffff; color: #333333; font-family: consolas, Courier, 'MS Courier New', monospace; white-space: pre; font-size: 12px;">可能是因为连接不上mogodb,此时没多想就潦草的准备去重启下mongodb镜像。</span></p>
<p><code><span style="background-color: #ffffff; color: #333333; font-family: consolas, Courier, 'MS Courier New', monospace; white-space: pre; font-size: 12px;">docker restart (mongodb镜像ID)</span></code></p>
<p><span class="dl" style="font-size: 12px; box-sizing: inherit; color: #333333; font-family: consolas, Courier, 'MS Courier New', monospace; white-space: pre; background-color: #ffffff;">然后还是不行,<code>docker logs -f </code></span><code><span style="background-color: #ffffff; color: #333333; font-family: consolas, Courier, 'MS Courier New', monospace; white-space: pre; font-size: 12px;">(mongodb镜像ID) </span></code> <span style="background-color: #ffffff; color: #333333; font-family: consolas, Courier, 'MS Courier New', monospace; font-size: 12px; white-space: pre;">查看了mongodb的日志好像没什么报错的地方,正常连接,但是又找不到什么原因,就打算把mongodb的数据库备份了下,然后重新安装,</span></p>
<p><span style="background-color: #ffffff; color: #333333; font-family: consolas, Courier, 'MS Courier New', monospace; white-space: pre; font-size: 12px;">还原数据库: </span><span style="background-color: #ffffff;"><span style="color: #333333; font-family: consolas, Courier, MS Courier New, monospace;"><span style="font-size: 12px; white-space: pre;">mongorestore -u root -p 密码 --port 端口号 --drop --authenticationDatabase admin /data/db/bak/</span></span></span></p>
<p><span style="background-color: #ffffff; color: #333333; font-family: consolas, Courier, 'MS Courier New', monospace; font-size: 12px; white-space: pre;">结果还是不行。此时摆烂的心态还是浮上来,不搞啦 !!!</span></p>
<p><span style="background-color: #ffffff; color: #333333; font-family: consolas, Courier, 'MS Courier New', monospace; font-size: 12px; white-space: pre;">2023年5月24日下午,想想还是要弄下。 但是不知道问题出在哪里,很闹心。</span></p>
<p><span style="background-color: #ffffff; color: #333333; font-family: consolas, Courier, 'MS Courier New', monospace; font-size: 12px; white-space: pre;">要不然看看mysql重启下,docker restart mysqlId, docker logs -f mysqlId. 查看了日志</span></p>
<div> <img src="https://www.bzsdn.com/api/20230524/f4262f0e-553b-48c5-9d24-716b715ce4ff.png" alt="" width="958" height="593" /></div>
<div>突然看到这里有异常,哇塞,有线索了。然后复制了这串代码 百度转一趟看看什么解决方案...</div>
<div><span style="color: #444444; font-family: Tahoma, Helvetica, SimSun, sans-serif; font-size: 14px; background-color: #ffffff;">MySQL的一个bug,不管连接是通过hosts还是ip的方式,MySQL都会对DNS做反查,IP到DNS,由于反查的接续速度过慢(不管是不是isp提供的dns服务器的问题或者其他原因),大量的查询就难以应付,线程不够用就使劲增加线程,但是却得不到释放,所以MySQL会“ 假死”。</span></div>
<div><span style="color: #444444; font-family: Tahoma, Helvetica, SimSun, sans-serif; font-size: 14px; background-color: #ffffff;">解决方案:</span></div>
<div>
<p style="overflow-wrap: break-word; color: #444444; font-family: Tahoma, Helvetica, SimSun, sans-serif; font-size: 14px; background-color: #ffffff;">1、打开mysql的配置文件(my.cnf),在[mysqld]下面增加一行:</p>
<p style="overflow-wrap: break-word; color: #444444; font-family: Tahoma, Helvetica, SimSun, sans-serif; font-size: 14px; background-color: #ffffff;"> skip-name-resolve</p>
<p style="overflow-wrap: break-word; color: #444444; font-family: Tahoma, Helvetica, SimSun, sans-serif; font-size: 14px; background-color: #ffffff;">2、在my.ini添加的内容:</p>
<p style="overflow-wrap: break-word; color: #444444; font-family: Tahoma, Helvetica, SimSun, sans-serif; font-size: 14px; background-color: #ffffff;"> <span style="color: #e03e2d; background-color: #bfedd2;">skip-locking</span></p>
<p style="overflow-wrap: break-word; color: #444444; font-family: Tahoma, Helvetica, SimSun, sans-serif; font-size: 14px; background-color: #ffffff;"> skip-name-resolve</p>
</div>
<p style="overflow-wrap: break-word; color: #444444; font-family: Tahoma, Helvetica, SimSun, sans-serif; font-size: 14px; background-color: #ffffff;">然后重启mysql服务即可</p>
<p style="overflow-wrap: break-word; color: #444444; font-family: Tahoma, Helvetica, SimSun, sans-serif; font-size: 14px; background-color: #ffffff;">我这里是用docker来部署的mysql,要特别注意,修改mysql的配置文件的时候别弄错了,弄错了就运行不了mysql镜像,而且还不能修改配置文件。</p>
<p style="overflow-wrap: break-word; color: #444444; font-family: Tahoma, Helvetica, SimSun, sans-serif; font-size: 14px; background-color: #ffffff;">不过我是技高人胆大。虽然说 我这里修改配置的时候弄错了,但是我知道怎么处理。</p>
<p style="overflow-wrap: break-word; color: #444444; font-family: Tahoma, Helvetica, SimSun, sans-serif; font-size: 14px; background-color: #ffffff;">docker exec -it (mysqlId) bash</p>
<p style="overflow-wrap: break-word; color: #444444; font-family: Tahoma, Helvetica, SimSun, sans-serif; font-size: 14px; background-color: #ffffff;">cd /etc/mysql/ </p>
<p style="overflow-wrap: break-word; color: #444444; font-family: Tahoma, Helvetica, SimSun, sans-serif; font-size: 14px; background-color: #ffffff;">vi mysql.cnf</p>
分享到:
转载:
喜欢 0
收藏
暂无评论信息
- 相关文章
- 文章推荐
-
娱美德旗下MMORPG手游《传奇4》将推出新PVP玩法"比奇掠夺"&
《传奇4》推出新门派PVP玩法!韩国首尔2022年6月29日 /美通社/ -- 《传奇4》(MIR4)的新PVP玩法比奇掠夺(Bicheon Heist)于2022年6月28日推出。
-
jQuery 3.0正式发布
jQuery 基金会刚刚发布了该 Java 框架的 3.0 版本,并且首次抛弃了对老旧的 IE 浏览器的支持。jQuery 3.0 的工作始于 2014 年 10 月,其最初目标是在 2.0 版本之上进行完善,并和遥远的 1.0 版代码说再见——因为要兼容 IE 的缘故,其已经臃肿不堪。jQuery 2.0 已经与 1.0 版本完全不兼容,而 3.0 也将继续这一路线。
-
群辉nas docker容器 配置svn仓库,并实现外网访问
2022-08-11的这一天, 群辉nas到手了, 实现svn仓库外网的访问,折腾了好久。记录一下。
-
眼镜试戴的装饰效果
开发眼镜类产品的时候需要使用试戴的功能,这里就有你需要的学习资料哦!
- 点击排行
- 站长推荐
- 猜你喜欢
- 网站信息
- 站内问答:12篇
- 站内文章:213篇
- 建站时间:已运行1244天
- 备案号: 浙ICP备2022018799号
- 语言:
- English(USA)
- French(FR)
- Chinese(ZH)
无数据