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

MySQL 遠程訪問授權兩法:改表法與 GRANT 授權法(含刷新權限)

     編輯:MySQL 綜合教學

MySQL 遠程訪問授權兩法:改表法與 GRANT 授權法(含刷新權限)

快速開放 Root 或業務帳號遠程連接,對比直接修改 mysql.user 表與標準 GRANT 語法,強調 FLUSH PRIVILEGES 生效機制。

方法一:改表法(簡暴力,不推薦生產)

USE mysql;
UPDATE user SET host = '%' WHERE user = 'root';
FLUSH PRIVILEGES;

⚠️ 直接修改系統表,繞過權限檢查,易留隱患。

方法二:GRANT 授權法(標準、可控、可審計)

全網段授權

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.6' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;

關鍵說明

  • %.% 匹配任意主機,192.168.1.% 匹配網段
  • WITH GRANT OPTION 允許該用戶再授權
  • IDENTIFIED BY 5.7+ 可省略(建議分開 CREATE USER + GRANT)
  • 必須 FLUSH PRIVILEGES 才生效(8.0+ 自動生效,但保留兼容)

安全加固建議

  1. 原則最小權限:GRANT SELECT, INSERT ON db.* TO ...
  2. 禁用 Root 遠程:DELETE FROM mysql.user WHERE user='root' AND host='%';
  3. 啟用 SSL:REQUIRE SSL
  4. 配置防火牆/安全組僅放行應用服務器 IP
  5. 定期審計:SELECT user, host FROM mysql.user WHERE host != 'localhost';
  6. 常見報錯

    1. 上一篇文章:
    2. 下一篇文章:
    Copyright © 程式碼之家 All Rights Reserved
    錯誤原因解決
    Host 'x' is not allowed to connecthost 欄位不匹配檢查 user 表 host 值、防火牆、skip-name-resolve
    Access denied for user 'x'@'y'密碼錯/權限不足確認密碼、GRANT 權限範圍、FLUSH PRIVILEGES