嘗試遠程連線 MySQL 時若出現 ERROR 2003 (HY000): Can't connect to MySQL server on ...,通常是因為預設配置只允許本地回環地址(127.0.0.1)連線。以下是快速解決方案:
sudo vi /etc/mysql/my.cnf(或 /etc/my.cnf)。bind-address = 127.0.0.1,在行首加上 # 註解掉,或改為 bind-address = 0.0.0.0 監聽所有介面。sudo service mysql restart
# 或
sudo systemctl restart mysqld
僅開放端口不夠,還需建立允許遠程登入的使用者:
CREATE USER 'remote_user'@'%' IDENTIFIED BY 'strong_password';
GRANT ALL PRIVILEGES ON *.* TO 'remote_user'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
# iptables
iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
# firewalld
firewall-cmd --permanent --add-port=3306/tcp
firewall-cmd --reload
完成上述步驟後,即可從遠程主機成功連線 MySQL。