Mysql:Forcing close of thread xxx user: 'root' 的解決方法


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參數之后不能啟動服務,只加一個跳過解析是可以啟動的,待解決

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM