在用Navicat for MySQL遠程連接mysql的時候,出現了
Lost connection to MySQL server at ‘reading initial communication packet', system error: 0
好惡心,服務器重啟了一次,就一上午都是在處理mysql的各種問題。
試了兩種方法都不生效:
修改my.cnf文件(windows為my.ini)
一般在mysql的安裝目錄,/etc/mycnf。
在my.cnf配置文件中的[mysqld]區域添加skip-name-resolve,看網友說的是跳過mysql連接的DNS反向解析功能,這樣能很好地提高mysql性能。在這種情況下,就只能使用MySQL授權表中的IP來連接mysql服務了。
但是不生效。附上my.cnf配置的幾個參數:
skip-name-resolve 跳過DNS反向解析過程.(這樣就不能使用主機名連接mysql了,只能使用ip連接)
skip-grant-tables 跳過授權表(當mysql登陸密碼忘記時的解決辦法)
skip-networking 跳過TCP/IP連接
skip-host-cache 禁用主機名緩存;要想清除主機名緩存,執行FLUSH HOSTS語句或執行mysqladmin flush-hosts命令
把client的ip寫在mysql服務器的/etc/hosts文件里,隨便給個名字做主機映射即可。
因為工作環境需要在多個地址訪問mysql,一直維護hosts文件也不現實,所以被淘汰。。。
最后發現。。。。。。
遠程訪問mysql都可以,就是本地訪問不了,也就是說可以照常在生產環境跑。真惡心