Mysql 連線錯誤:HOST '' 無法連線到 MySQL 伺服器
當嘗試使用 mysql 指令連線到 MySQL伺服器時,收到以下錯誤訊息:
ERROR 1130 (HY000): Host 'xxx.xxx.xxx.xxx' is not allowed to connect to this MySQL server
此錯誤表示伺服器已配置為僅允許某些主機連接,而你的主機不在允許清單中。
檢查root 使用者權限
在你的情況下,你已在my.cnf 中將bind-address 設定為0.0.0.0,這表示伺服器應接受來自所有主機的連線。但是,你仍然無法連線。這可能是因為 root 使用者只被授權從 localhost 連線。
要檢查這一點,執行以下查詢:
SELECT host FROM mysql.user WHERE User = 'root';
如果結果中不包含你嘗試連線時使用的主機名稱或IP 位址,則需要向root 使用者授予從該主機連線的權限。
授予連線權限
要授予root 使用者從特定主機連線的權限,請使用下列指令:
CREATE USER 'root'@'host_ip' IDENTIFIED BY 'some_pass'; GRANT ALL PRIVILEGES ON *.* TO 'root'@'host_ip';
其中,host_ip 是你想要允許連線的主機的IP 位址。
如果想為所有主機授予連接權限,可以使用通配符%:
CREATE USER 'root'@'%' IDENTIFIED BY 'some_pass'; GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
最後,刷新權限以立即生效:
FLUSH PRIVILEGES;
現在,你應該能夠使用mysql 指令從指定的遠端主機連線到MySQL 伺服器。
以上是儘管'bind-address = 0.0.0.0”,為什麼我無法從遠端主機連接到我的 MySQL 伺服器?的詳細內容。更多資訊請關注PHP中文網其他相關文章!