MySQL 預設僅允許本機連線,若需從其他電腦或伺服器存取,必須調整使用者權限。本文整理三種實務上常用的遠程授權方法,並強調關鍵的生效指令與防火牆設定。
適用於已有帳號、需快速開放所有 IP 連線的情況。
mysql -u root -pUSE mysql;UPDATE user SET host = '%' WHERE user = 'root';SELECT host, user FROM user;FLUSH PRIVILEGES;建議建立專用遠程帳號,避免直接暴露 root。
GRANT ALL PRIVILEGES ON *.* TO 'remote_user'@'%' IDENTIFIED BY 'strong_password' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO 'remote_user'@'192.168.1.100' IDENTIFIED BY 'strong_password' WITH GRANT OPTION;
執行完同樣需 FLUSH PRIVILEGES;。
在資料庫伺服器主機上依序執行:
mysql -h localhost -u rootGRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;FLUSH PRIVILEGES;EXIT;my.cnf / my.ini 中 bind-address = 0.0.0.0。systemctl restart mysqld。mysql.user,移除閒置帳號。