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

Linux MySQL 遠程訪問授權 5 步驟:修改 host 為 % 與 flush privileges

     編輯:MySQL 綜合教學

Linux MySQL 遠程訪問授權 5 步驟:修改 host 為 % 與 flush privileges

預設 MySQL 僅允許 localhost 連線。生產環境常需開放遠程訪問,核心操作僅需 5 步,耗時不到 1 分鐘。

操作步驟

  1. 登入 MySQL
    /usr/local/mysql/bin/mysql -u root -p
  2. 切換 mysql 系統庫
    USE mysql;
  3. 檢視現有用戶與 Host
    SELECT Host, User FROM user;
    確認 root@localhost 存在。
  4. 更新 Host 為 %(允許所有 IP)
    UPDATE user SET Host = '%' WHERE User = 'root' LIMIT 1;
  5. 強制刷新權限生效
    FLUSH PRIVILEGES;

關鍵點解析

  • % 為通配符,代表任意主機。若需限定特定 IP,改為 UPDATE user SET Host = '192.168.1.100' ...。
  • FLUSH PRIVILEGES 將授權表緩存同步到運行記憶體,**必須執行**,否則修改不生效。
  • MySQL 8.0+ 建議改用 CREATE USER 'root'@'%' IDENTIFIED BY 'pwd'; GRANT ALL ON *.* TO 'root'@'%';,避免直接操作系統表。

防火牆配套

# firewalld
firewall-cmd --permanent --add-port=3306/tcp
firewall-cmd --reload

# iptables
iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
service iptables save

驗證

# 遠程機器測試
mysql -h  -u root -p

安全建議

  • 生產環境**禁止** root@%,應建立專用業務帳號並限制來源 IP。
  • 啟用 SSL 連線:REQUIRE SSL。
  • 配合 bind-address = 0.0.0.0(my.cnf)讓服務監聽所有介面。

完成上述步驟,即可從任意授權 IP 遠程連線管理 MySQL。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved