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

解決 MySQL 遠程連線被拒:授權與防火牆雙重檢查清單

     編輯:MySQL 資料庫相關知識

現象


ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.1.111' (10060)

兩步解決

1. MySQL 授權放行


-- 方式 A:修改 user 表 host 欄位
UPDATE mysql.user SET Host='%' WHERE User='root';
-- 方式 B:GRANT 重建 (推薦)
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;

驗證:SELECT Host,User FROM mysql.user; 應出現 % | root。

2. 防火牆開放 3306 (CentOS 6/7 iptables)


# 永久生效
vi /etc/sysconfig/iptables
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
service iptables restart

# 或 firewalld (CentOS 7)
firewall-cmd --permanent --add-port=3306/tcp
firewall-cmd --reload

驗證連線


# 客戶端測試
mysql -h 192.168.1.111 -u root -p
Enter password: *******
Welcome to the MySQL monitor...

排查清單 (仍失敗時逐項核對)

  1. bind-address 是否設為 0.0.0.0 或註釋掉 (預設 127.0.0.1 僅本機)
  2. 雲廠商安全組/防火牆是否放行 3306
  3. SELinux 是否阻擋 (setsebool -P mysql_connect_any 1)
  4. MySQL 服務是否正常運行 (netstat -ltnp | grep 3306)
  5. 客戶端 telnet ip 3306 測試 TCP 連通性
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved