首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL 拒絕連線「Host is not allowed to connect」解決:授權遠端存取

     編輯:MySQL 綜合教學

錯誤訊息

Host 192.168.1.163 is not allowed to connect to this MySQL server

根本原因

MySQL 使用者帳號綁定 Host 欄位,預設 root@localhost 僅允許本機連線,遠端 IP 不在允許清單中。

解決步驟

mysql> USE mysql;
mysql> UPDATE user SET Host='%' WHERE Host='localhost' AND User='root';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
mysql> FLUSH PRIVILEGES;

說明

  • Host='%' 表示允許任意 IP 連線(生產環境建議限定具體 IP 或網段)。
  • GRANT ... TO 'root'@'%' 確保權限同步授予。
  • FLUSH PRIVILEGES 立即生效,無需重啟。

安全建議

  1. 生產環境**禁止**使用 root@%,應建立專用應用帳號並限定 IP:
    CREATE USER 'app_user'@'192.168.1.%' IDENTIFIED BY 'strong_pass';
    GRANT SELECT,INSERT,UPDATE,DELETE ON app_db.* TO 'app_user'@'192.168.1.%';
  2. 啟用防火牆限制 3306 埠僅對應用伺服器開放。
  3. MySQL 8.0+ 支援 CREATE USER ... REQUIRE SSL 強制加密傳輸。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved