MySQL server在中午的时候忽然挂掉。重启mysql也尽是失败,只有重启电脑才能解决,然而重装了MySQL也是不行,晚上还是挂,

去看mysql的errorlog,只能看到类似如下的信息:

  Forcing close of thread xxxxx user: 'root'

百度之后

  发现这算属MySQL的一个bug,不管连接是通过hosts还是ip的方式,MySQL都会对DNS做反查,IP到DNS,由于反查的接续速度过慢(不管是不是isp提供的dns服务器的问题或者其他原因),大量的查询就难以应付,线程不够用就使劲增加线程,但是却得不到释放,所以MySQL会“ 假死”。

 

  解决的方案很简单,结束这个反查的过程,禁止任何解析。

 

  1、打开mysql的配置文件(my.cnf),在[mysqld]下面增加一行:

  skip-name-resolve

 

  2、在my.ini添加的内容:

  skip-locking

  skip-name-resolve

 

任务管理器重启MySQL服务即可

 

不知道为什么,我这里加入这个:skip-locking参数之后不能启动服务,只加一个跳过解析是可以启动的,待解决

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-06-17
  • 2022-01-21
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-11-11
  • 2021-12-29
  • 2022-12-23
  • 2022-01-02
  • 2021-11-16
相关资源
相似解决方案