MySql無法外網訪問或者無法本地登入的解決方法
阿新 • • 發佈:2018-10-31
mysql無法登入問題解決
之前一段時間由於一些原因,重複裝了幾次系統。。。
反覆配置了幾次mysql,在最後一次竟然發現mysql用外網連線不上了。。。
羅列一下常見的mysql無法登入的原因
- 最常見的的原因就是防火牆沒有放行mysql的埠(預設為3306),注意這裡的防火牆如果你使用的是雲主機的話,雲主機提供商的放行規則也要將3306解封。下面附上CentOS防火牆的設定方法
iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
- 第二種原因就是使用者沒有指定Host訪問了。如果你想在任何的外網都可以訪問資料庫,那麼可以使用以下的mysql命令建立使用者
CREATE USER 'xxx'@'%' IDENTIFIED BY 'xxxxxxx;
- 如果你沒有配置%的使用者的話,並且還是登入不上去的話,那麼就有可能是你的hosts檔案的配置有問題,博主之前使用了域名當作主機,結果無法登入,就是因為hosts檔案有關於域名的對映,導致Host不匹配。。。(Linux的Hosts檔案路徑一般為/etc/hosts)
- 每次修改完之後,記得執行
flush privileges;
,一定要記得,不然你改的使用者配置都不會生效的。。。 - 總結到最後,root使用者最好不要配置Host為%,安全很重要,直接新建一個Host為%的使用者就可以了。