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
收藏
暂无评论信息
- 相关文章
- 文章推荐
-
淘宝 NPM 镜像站喊你切换新域名啦
淘宝 NPM 镜像站(npm.taobao.org)自 2014 年 正式对外服务,一开始只是想简单地做 NPM 的中国镜像站点,回馈国内前端社区,不知不觉竟然一直运行到现在。当年参考 Ruby Gems 淘宝镜像 的方式,跟阿里开源组织申请了 taobao.org 的二级域名,镜像站点名称也自然而然地取名为 淘宝 NPM 镜像站 (下称 CNPM)。
-
git:如何管理本机的多个ssh密钥(多个远程仓库账号)
如果我们电脑上已经存在了一个ssh key,那么我们需要在我们电脑上生成第二个你想在本电脑上使用的id_rsa,使用命令:ssh-keygen -t rsa -C "你的github账号"。
-
Node 配置sequelize + mysql,根据模型自动创建数据库表
研究了一下午的node + sequelize + mysql。
-
群辉nas docker容器 配置svn仓库,并实现外网访问
2022-08-11的这一天, 群辉nas到手了, 实现svn仓库外网的访问,折腾了好久。记录一下。
- 点击排行
- 站长推荐
- 猜你喜欢
- javascript 搜索关键字高亮并不区分大小写
- vue3.0 动态加载vuex模块
- 一文彻底解决新手对 webpack 的恐惧!&
- swiper 点击左右箭头轮播获取的索引不包括前后新增的解决方案
- Facebook 母公司 Meta 取消硅谷总部后勤外包合同:导致数百人失业
- Javascript字符串Split方法分割字符串并去除空值
- 群晖nas docker安装bitwarden,并实现ssl证书,可以访问并能注册登录的问题
- 英国军方 Twitter 和 YouTube 账号被黑:为 NFT 做起广告,现已恢复
- JS 移动端双击缩放,拖动,双指缩放的解决方案
- MySQL实现分页查询
- 网站信息
- 站内问答:12篇
- 站内文章:213篇
- 建站时间:已运行1268天
- 备案号: 浙ICP备2022018799号
- 语言:
- English(USA)
- French(FR)
- Chinese(ZH)
无数据