首頁 >資料庫 >mysql教程 >儘管'bind-address = 0.0.0.0”,為什麼我無法從遠端主機連接到我的 MySQL 伺服器?

儘管'bind-address = 0.0.0.0”,為什麼我無法從遠端主機連接到我的 MySQL 伺服器?

Patricia Arquette
Patricia Arquette原創
2024-12-17 08:06:25856瀏覽

Why Can't I Connect to My MySQL Server from a Remote Host Despite `bind-address = 0.0.0.0`?

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn