虛擬機內 MySQL 預設僅允許本地連接,遠程報錯 ERROR 1130 (HY000): Host 'x.x.x.x' is not allowed to connect。本文提供兩種通用修復方案。
mysql -u root -p mysqlGRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'MyPassword' WITH GRANT OPTION; FLUSH PRIVILEGES;
root@'%' 表示允許任意主機以 root 身份連接,生產環境建議改為具體 IP 或專用用戶。
vi /etc/sysconfig/iptables # 在 COMMIT 前添加 -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
重啟防火牆:service iptables restart
驗證:iptables -L 應包含 3306 ACCEPT 規則。
mysql -h 192.168.16.128 -u root -p 成功連接。mysql -uroot -p mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'sy31214' WITH GRANT OPTION; mysql> FLUSH PRIVILEGES;
CREATE USER 'root'@'%' IDENTIFIED BY 'pwd'; GRANT ALL ON *.* TO 'root'@'%';