MySQL 開啟遠端連線

在 MySQL 建立用戶後, 如果在從遠端連接到 MySQL Server, 可能會出現以下錯誤 (‘xxx.xxx.xxx.xxx’ 是客戶端電腦的 IP):

ERROR 1130 (HY000): Host ‘xxx.xxx.xxx.xxx’ is not allowed to connect to this MySQL server

這個情況如果在本機可以連接, 只有遠端不能連接, 原因是 MySQL 預設不允許從遠端連接。

要解決這個問題, 只要修改設定 MySQL 帳號的權限即可, 在 MySQL Server 的主機上用 root 登入 MySQL, 或者用 root 登入 phpmyadmin:

上面的設定, 給 root 帳號在 IP ‘xxx.xxx.xxx.xxx’ 連接, 如果想改為任何 IP 都可以連接, 可以改成 “root@’%'” 即可

另外如果防火牆沒有允許 MySQL 對外開放, 需要設定防火牆開啟 MySQL 埠號, 而 MySQL 預設埠號是 3306, 以下是 RHEL 及 CentOS 7 的做法:

$ sudo firewall-cmd –zone=public –add-port=3306/tcp –permanent
$ sudo firewall-cmd –reload

設定了 MySQL 權限及防火牆後, 應該可以從遠端接接到 MySQL.




Leave a Reply