其實這個問題對於熟手來說根本就不是什麼問題,遠程連接不上mysql 只需要下面123就可以搞定了:
1. 首先要排查網絡問題和防火牆的問題
這個是必須的, 你要是連mysql的服務器都連不上, 那還訪問什麼? 怎麼檢查呢? ping一下:ping 192.168.0.11。ping 的通的話, 再去檢查一下 3306端口是不是被防火牆給擋掉了:ping 192.168.0.11:3306,或者乾脆把防火牆關掉,service iptables stop (Redhat ) 或 ufw disable(ubuntu) 。這一步沒問題的話, 開始下一步。
2. 要排查有沒有訪問權限
說到訪問權限, mysql分配用戶的時候會指定一個host,比如我的 host 指定爲 192.168.0.5 ,那麼這個賬號就只能 .5 這一臺機器訪問, 其他的機器用這個賬號訪問會提示沒有權限。 host 指定爲 % 則表示允許所有的機器訪問。一般來說出於安全方面的考慮,遵循最小權限原則, 權限的問題就不多講了, 不會的自己查手冊。 確定了權限沒問題的話進行下一步。
3. 要排查MySQL的配置
檢查mysql的配置文件, Linux下mysql的配置文件叫 my.cnf;windows下的叫 my.ini,檢查這個配置項:–bind-address=IP
引用手冊裏的一段話:
綁定的IP, 只能綁定一個IP, 如果綁定多個IP, 則以最後一個綁定的爲準。如果沒有綁定或綁定 0.0.0.0, 服務器監聽所有的客戶端。