最近我在嘗試遠程登錄Linux上的MySQL數據庫,但是遇到了一些問題。我發現無法通過遠程終端連接到MySQL數據庫。在經過一番探索之后,我發現了一些錯誤。
ERROR 2003 (HY000): Can't connect to MySQL server on 'xxx.xxx.xxx.xxx' (111)
以上是我在終端嘗試連接MySQL時得到的錯誤信息。這里的 "xxx.xxx.xxx.xxx" 是指數據庫所在的IP地址。
經過一番查詢,我發現我的MySQL服務器未開啟遠程訪問權限。我需要在服務器上進行以下操作:
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'PASSWORD' WITH GRANT OPTION; mysql>FLUSH PRIVILEGES;
上面的命令會將root用戶授予全局訪問MySQL數據庫的權限,并且指定 '%' 代表所有IP地址均可訪問。
但是這樣修改后,我依然無法連接到MySQL數據庫。我又重新檢查了配置文件,發現 MySQL 服務綁定的 IP 地址為 127.0.0.1 也就是只允許來自本地的連接。
要通過遠程終端連接 MySQL,我們需要修改 MySQL 配置文件/etc/mysql/mysql.conf.d/mysqld.cnf
。將如下行的IP地址改成0.0.0.0表示允許所有IP連接:
bind-address =0.0.0.0
修改保存后重啟 MySQL 服務:
sudo service mysql restart
現在,我終于可以通過遠程終端連接到 MySQL 數據庫了。
總的來說,如果你在 Linux 上遇到了無法遠程訪問 MySQL 的問題,首先需要確認是否開啟了遠程訪問權限,以及是否將MySQL服務綁定了正確的IP地址。