當遠程連接MySQL數據庫的時候顯示Can't connect to MySQL server (10060),我們從以下幾個方面入手,找出錯誤的原因:
1.網絡不通。
檢查能不能ping通。
2.防火牆設置。這個可能性也很大,優先排查這個
防火牆是否放過mysql的進程,是否屏蔽了mysql的3306端口。
方法:
防火牆開放3306端口
1、打開防火牆配置文件
1
|
vi /etc/sysconfig/iptables
|
2、增加下面一行
1
|
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
|
3、重啟防火牆
1
|
service iptables restart
|
3.mysql的賬戶設置。
mysql賬戶是否不允許遠程連接。如果無法連接可以嘗試以下方法:
- mysql -u root -p //登錄MySQL
- mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION; //任何遠程主機都可以訪問數據庫
- mysql> FLUSH PRIVILEGES; //需要輸入次命令使修改生效
- mysql> EXIT //退出
也可以通過修改表來實現遠程:
- mysql -u root -p
- mysql> use mysql;
- mysql> update user set host = '%' where user = 'root';
- mysql> select host, user from user;
其實錯誤的原因也不外乎以上幾個方面,相信按照上面的思路找出原因,定能將問題解決掉
linux下mysql開啟遠程訪問權限及防火牆開放3306端口
報錯:1130-host ... is not allowed to connect to this MySql server