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

MySQL 開啟遠程訪問權限與防火牆配置排錯指南

     編輯:MySQL 資料庫相關知識

兩步完成遠程授權

  1. MySQL 授權:建立允許遠程登入的用戶
    
    GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
    FLUSH PRIVILEGES;
    

    % 代表任意主機,生產環境建議限定具體 IP 或網段 (如 '192.168.1.%')。

  2. 防火牆開放 3306 端口 (CentOS/RHEL iptables 範例)
    
    vi /etc/sysconfig/iptables
    # 在 COMMIT 前插入
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
    
    service iptables restart
    # 或
    iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
    service iptables save
    

常見錯誤與排查

現象原因解決
ERROR 1290: --skip-grant-tablesMySQL 以跳過授權模式啟動正常重啟 MySQL 移除該參數
Can't connect ... (10060/10065)防火牆攔截、MySQL bind-address 限制、網路不通檢查 iptables、my.cnf bind-address=0.0.0.0、ping/telnet 測試
本機能連、遠程不能連防火牆未開放、雲廠商安全組未放行雲控制台加安全組規則、本機 iptables 放行
Host 'x.x.x.x' is not allowed用戶 host 欄位不匹配UPDATE mysql.user SET Host='%' WHERE User='myuser'; FLUSH PRIVILEGES;

驗證連通性


# 遠程測試
mysql -h 192.168.1.100 -u myuser -p
# 成功進入 mysql> 提示符即通

建議使用圖形工具 (MySQL Workbench、DBeaver、Navicat) 做日常管理,避免長期用命令列。

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