MySQL 預設僅允許本機連線,開啟遠端存取需修改使用者帳號主機限制與授權。本文提供標準化操作步驟。
mysql -u root -pUSE mysql;SELECT user, host FROM user;% 主機項目,更新 root 帳號:
UPDATE user SET host='%' WHERE user='root';
FLUSH PRIVILEGES;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'pwd' WITH GRANT OPTION;
FLUSH PRIVILEGES;
GRANT ALL PRIVILEGES ON *.* TO 'tuser'@'192.168.1.100' IDENTIFIED BY 'tpwd' WITH GRANT OPTION;
FLUSH PRIVILEGES;
'192.168.1.%') 替代 '%'require_secure_transport=ON 並簽署憑證SHOW GRANTS FOR 'user'@'host';# 遠端機器測試
mysql -h -u root -p
# 或使用 GUI 工具 (Navicat, Workbench, DBeaver) 測試連線
| 現象 | 排查方向 |
|---|---|
| 連線超時 | 防火牆/安全組未開放 3306、MySQL bind-address 設為 127.0.0.1 |
| Access denied | 帳號主機不匹配、密碼錯誤、未執行 FLUSH PRIVILEGES |
| SSL 錯誤 | 客戶端未支援 SSL 或憑證不匹配,暫時可用 --skip-ssl 測試 |