#原因html
最近後臺網站老是崩,發現是因爲數據庫異常引發的,因爲登陸上服務器,mysql進程運行正常,但就是鏈接不上去好像進入‘假死’狀態同樣;mysql
#排查sql
打開mysql錯誤日誌,通常是/usr/local/mysql/var/xxx.err文件,發現大量Forcing close of thread xxx user: 'root'的報錯日誌;在網上查找資料,說這是因爲mysql自身的緣由:dns反查,能夠說是mysql的一個bug吧。數據庫
#解決服務器
打開mysql的配置文件my.cnf,在文件中[]添加如下配置:網站
skip-name-resolve
重啓mysql;
或者kill掉mysql進程,而後再啓動進程時在啓動命令後加上:日誌
--skip-name-resolve
#拓展code
mysql默認狀態下是自動dns反向解析的,這是屬於mysql系統上的一個特殊設定,把這個當成是mysql的一個bug算了;無論連接的的方式是通過 hosts 或是 IP 的模式,他都會對 DNS 作反查 mysqld 會嘗試去反查 IP → dns ,因爲反查解析過慢,就會沒法應付過量的查詢。
拓展引用:htm