開發測試常需從 Windows 本機連接 Linux 雲伺服器上的 MySQL。本文提供命令列直連與圖形化工具 (MySQL Workbench) 兩種主流方式,並附帶防火牆、權限、Bind Address 等常見連不上排查清單。
ping 192.168.1.16 確認可達。telnet 192.168.1.16 3306 (需開啟 Windows 功能「Telnet 用戶端」)。失敗則檢查雲廠商安全組/防火牆/iptables/firewalld 放行 3306。my.cnf 需設 bind-address = 0.0.0.0 (或具體內網 IP),重啟服務。CREATE USER 'root'@'%' IDENTIFIED BY 'strong_password';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
mysql -h 192.168.1.16 -u root -p
# 提示輸入密碼,回車即可登入
參數說明:-h 主機 IP、-u 用戶名、-p 觸發密碼提示 (避免明文洩露)。
Remote-Prod192.168.1.163306root| 現象 | 可能原因 | 解決方向 |
|---|---|---|
| telnet 不通 | 安全組/防火牆攔截 | 雲控制台開放 3306;Linux firewall-cmd --add-port=3306/tcp --permanent |
| Access denied | 用戶無遠端權限/密碼錯誤 | 建立 user@'%';確認密碼策略 validate_password |
| Can't connect to MySQL server | bind-address=127.0.0.1 | 改為 0.0.0.0 並重啟 mysqld |
| SSL connection error | 版本不匹配/強制 SSL | 客戶端加 --ssl-mode=DISABLED 或配置 CA 憑證 |
安全最佳實踐: 生產環境**禁用 root 遠端登入**,改用專用帳號 + 最小權限 + SSL 加密連接 + SSH 隧道/VPN 跳板機存取。