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

MySQL 遠程連接配置全流程:建用戶、改綁定地址、驗證端口、排查防火牆

     編輯:MySQL 資料庫相關知識

三步走策略

  1. 在被連接庫建立遠程專用用戶
  2. 修改 my.cnf 綁定 0.0.0.0 或具體 IP,重啟服務
  3. 驗證雙方端口一致,指定 --port 連接

步驟一:建立遠程用戶

默認 root 僅允許 localhost。兩種授權方式:

改表法

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

授權法(推薦)

-- 允許任意 IP
GRANT ALL PRIVILEGES ON *.* TO 'wow'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

-- 僅允許特定 IP
GRANT ALL PRIVILEGES ON *.* TO 'wow'@'192.168.83.56' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;

關鍵坑:若 mysql.user 存在匿名用戶(User=''),會優先匹配導致新用戶無法登錄。須刪除:

DELETE FROM mysql.user WHERE User='';
FLUSH PRIVILEGES;

步驟二:修改綁定地址

vim /etc/mysql/my.cnf
# 註釋或修改
# bind-address = 127.0.0.1
bind-address = 0.0.0.0   # 監聽所有介面
# 或 bind-address = 192.168.11.12  # 僅監聽特定內網 IP
systemctl restart mysqld

驗證:netstat -ntlp | grep 3306 應顯示 0.0.0.0:3306 或指定 IP。

步驟三:端口一致性與連接測試

客戶端機器 MySQL 配置端口可能非 3306(如 3308),連接時必須顯式指定目標端口:

mysql -h 192.168.11.12 -u wow --port=3306 -p

若仍報 ERROR 2003 (HY000): Connection refused,排查:

  • 防火牆:iptables -A INPUT -p tcp --dport 3306 -j ACCEPT / 雲廠商安全組放行
  • SELinux:setsebool -P mysql_connect_any 1
  • MySQL 錯誤日誌確認啟動無報錯
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved