現象描述
今天用heidisql登陸虛擬機的MySQL,登陸不上去。等待約一兩分鐘後出現錯誤提示:SQL Error (2013): Lost connection to MySQL server at 'waiting for initial communication packet', system error: 0
,如下圖所示:
開始以為是遠程TCP/IP root只能通過localhost訪問 ,後來新建用戶,改為%後還是無果。嘗試修改my.ini配置問題後問題消失。
解決辦法
在my.ini或者my.cnf中
[mysqld]項中,添加
skip-name-resolve
在解決這個問題過程中,發現另一個啟動參數:
skip-grant-tables
mysql啟動參數:
skip-grant-tables
顧名思義,就是在啟動mysql時不啟動grant-tables,授權表。有什麼用呢?當然是忘記管理員密碼、mysql數據庫中user表出問題時有用。使用該參數,那麼任何帳號用任何的密碼(當然也包括空)都可以登錄到mysql數據庫了。