首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL 開放遠端連線兩種方法:更新 host 欄位與 GRANT 授權實戰

     編輯:MySQL 資料庫相關知識

方法一:直接修改 mysql.user 表

mysql -u root -p mysql
UPDATE user SET Host = '%' WHERE User = 'root';
FLUSH PRIVILEGES;
EXIT;

查看結果:SELECT Host, User FROM user;

方法二:GRANT 授權(推薦)

mysql -u root -p
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'StrongPass123!' WITH GRANT OPTION;
FLUSH PRIVILEGES;

參數說明

  • 'root'@'%':% 代表任意主機,可改為具體 IP(如 192.168.1.%、10.0.0.5)。
  • IDENTIFIED BY:設定密碼,MySQL 8.0+ 需加 WITH mysql_native_password 相容舊客戶端。
  • WITH GRANT OPTION:允許該帳號再授權他人。

配合配置檔調整

[mysqld]
bind-address = 0.0.0.0  # 監聽所有介面,預設 127.0.0.1 僅本機
# skip-networking  # 確保未啟用

修改後重啟:systemctl restart mysqld

驗證連線

# 遠端機器
mysql -h  -u root -p
# 或 Navicat / Workbench 新建連線

安全建議

  1. 生產環境禁用 root 遠端登入,建立專用帳號 'app'@'192.168.1.%'。
  2. 密碼複雜度 ≥ 16 字元,定期輪換。
  3. 防火牆/安全群組僅放行應用伺服器 IP 的 3306 埠。
  4. 啟用 SSL:REQUIRE SSL 於 GRANT 子句中。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved