服务器设置和教程 · 9 10 月, 2024

Ubuntu 遠程連接 MySQL (connection refused) 解決方法

Ubuntu 遠程連接 MySQL (connection refused) 解決方法

在使用 Ubuntu 系統進行遠程連接 MySQL 數據庫時,經常會遇到「connection refused」的錯誤。這個問題可能由多種原因引起,包括防火牆設置、MySQL 配置文件的設置不當、或是用戶權限不足等。本文將針對這些常見問題提供解決方案,幫助用戶順利連接 MySQL 數據庫。

1. 確認 MySQL 服務是否運行

首先,確保 MySQL 服務正在運行。可以使用以下命令檢查 MySQL 的狀態:

sudo systemctl status mysql

如果服務未運行,可以使用以下命令啟動 MySQL:

sudo systemctl start mysql

2. 檢查 MySQL 配置文件

MySQL 的配置文件通常位於 /etc/mysql/mysql.conf.d/mysqld.cnf。打開該文件,檢查以下幾個設置:

  • bind-address: 確保這個設置允許遠程連接。可以將其設置為 0.0.0.0 來允許所有 IP 地址的連接。
  • port: 確保 MySQL 使用的端口(默認為 3306)未被其他應用程序佔用。

修改後,記得重啟 MySQL 服務:

sudo systemctl restart mysql

3. 檢查防火牆設置

如果防火牆設置不當,可能會阻止遠程連接。可以使用以下命令檢查防火牆狀態:

sudo ufw status

如果防火牆已啟用,確保開放 MySQL 的端口(默認為 3306):

sudo ufw allow 3306

4. 檢查用戶權限

確保用於連接的 MySQL 用戶具有足夠的權限。可以使用以下命令檢查用戶的權限:

SELECT host FROM mysql.user;

如果用戶的 host 設置為 localhost,則無法從遠程主機連接。可以使用以下命令授予用戶從任何主機的訪問權限:

GRANT ALL PRIVILEGES ON *.* TO 'your_user'@'%' IDENTIFIED BY 'your_password';

然後,記得執行以下命令以使更改生效:

FLUSH PRIVILEGES;

5. 測試連接

完成上述步驟後,可以使用以下命令測試遠程連接:

mysql -u your_user -p -h your_server_ip

如果一切正常,應該能夠成功連接到 MySQL 數據庫。

總結

在 Ubuntu 系統中遠程連接 MySQL 時,遇到「connection refused」的問題通常可以通過檢查 MySQL 服務狀態、配置文件、防火牆設置及用戶權限來解決。這些步驟能夠幫助用戶快速定位問題並進行修復。

如果您需要穩定的 香港VPS 來運行您的 MySQL 數據庫,Server.HK 提供多種選擇,滿足不同需求的用戶。無論是個人項目還是商業應用,我們的 云服务器 都能為您提供可靠的支持。