Ubuntu 上的MySQL 遠端連線問題
儘管授予使用者遠端存取權限,但使用者仍面臨遠端連線到MySQL 伺服器的困難。本文解決了這些問題並提供了全面的解決方案。
遠端連線錯誤故障排除
一個常見問題是忘記取消註解 MySQL 設定檔中的綁定位址行。對於 MySQL 5.6 及更低版本,此行位於 /etc/mysql/my.cnf 中,而對於 5.7 及更高版本,它位於 /etc/mysql/mysql.conf.d/mysqld.cnf 中。取消註解該行並將其指派給伺服器的 IP 位址或 0.0.0.0 以實現不受限制的存取。
檢查MySQL 連線
驗證MySQL 是否正在偵聽正確的IP位址,運行
lsof -i -P | grep :3306
這應該顯示帶有伺服器IP位址,運行
這應該顯示帶有伺服器IP位址的監聽端口。如果失敗,請確保 MySQL 確實正在偵聽指定的 IP 位址。
授予遠端存取權限
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypass'; CREATE USER 'myuser'@'%' IDENTIFIED BY 'mypass';
即使使用正確的綁定位址,遠端使用者仍可能面臨存取問題。要解決此問題,必須為 localhost 和 % 建立具有相同權限的使用者。例如:
GRANT ALL ON *.* TO 'myuser'@'localhost'; GRANT ALL ON *.* TO 'myuser'@'%';
接下來,授予使用者對*.* 的所有權限:
其他故障排除
如果lsof這樣做不起作用,請考慮為您的特定Linux 發行版安裝它。此外,請檢查設定檔 /etc/mysql/mariadb.conf.d/50-server.cnf 是否有任何衝突的綁定位址設定。透過實作這些解決方案,使用者可以在 Ubuntu 上成功建立與其 MySQL 伺服器的遠端連線。以上是為什麼我無法在 Ubuntu 上遠端連線到我的 MySQL 伺服器?的詳細內容。更多資訊請關注PHP中文網其他相關文章!