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
收藏
暂无评论信息
- 相关文章
- 文章推荐
-
乐视官方确认还有 400 多人:消息称员工“没有内卷和 996”,过着“没有老板”的神仙日子
7 月 11 日消息,近期,微博博主 @Fenng 分享了一个冷知识:乐视居然还剩下 400 多人,有不少是五年以上的老员工。这些老员工称“幸福感是很多老乐视人留下来的理由”,没有内卷和 996,没拖欠过留下来的员工的工资,也没停过社保。
-
Docker 常用命令
docker目前代替虚拟机使用的一个容器,灵活好用。
-
淘宝 NPM 镜像站喊你切换新域名啦
淘宝 NPM 镜像站(npm.taobao.org)自 2014 年 正式对外服务,一开始只是想简单地做 NPM 的中国镜像站点,回馈国内前端社区,不知不觉竟然一直运行到现在。当年参考 Ruby Gems 淘宝镜像 的方式,跟阿里开源组织申请了 taobao.org 的二级域名,镜像站点名称也自然而然地取名为 淘宝 NPM 镜像站 (下称 CNPM)。
-
亚马逊推出“无需收银员”的新技术,以此帮助品牌和广告商提高销量
北京时间 6 月 30 日早间消息,据报道,亚马逊发明了一种无需收银员的技术,可以加快人们去杂货店或便利店的速度。现在,该公司希望利用这个跟踪系统来帮助品牌和广告商提高销量。&
- 点击排行
- 站长推荐
- 猜你喜欢
- 网站信息
- 站内问答:12篇
- 站内文章:212篇
- 建站时间:已运行1107天
- 备案号: 浙ICP备2022018799号
- 语言:
English(USA)
French(FR)
Chinese(ZH)
无数据