在本地開發環境中,我們習慣使用 mysql_connect("localhost", "username", "password") 連接 MySQL。但當需要從其他主機透過 IP 位址連線時,預設設定會阻擋外部連線,導致「Can't connect to MySQL server」錯誤。
MySQL 預設配置檔 /etc/mysql/my.cnf 中的 bind-address 參數綁定至 127.0.0.1,僅允許本機連線。若嘗試從遠端以 IP 連線,會被直接拒絕。
/etc/mysql/my.cnfbind-address = 127.0.0.1 這一行# 註解掉,或改為 bind-address = 0.0.0.0 監聽所有介面sudo systemctl restart mysql開放遠端連線後,務必配合以下措施:
CREATE USER 'user'@'192.168.1.%' IDENTIFIED BY 'password')完成設定後,即可從其他機器使用 IP 位址順利連線 MySQL。