我在 VirtualBox 中有两个虚拟机,其中全新安装了 Ubuntu 服务器。
我需要将 mysql 从一个 VM 连接到另一个 VM。我允许从 IP 为 192.168.1.80 的第二台 VM 进行访问。在 mysql 配置中的第一台 VM 中,我写下:
bind-address = 192.168.1.80
还尝试了 0.0.0.0, 192.168.1.118(第一个 VM 的 ip),注释掉行。
我通过 user = root 从第二台虚拟机连接,因此我将第一台虚拟机中用户表中的 host 更改为 %。然后我通过不同的方式允许在 ufw 中连接:
第一台虚拟机成功与第二台虚拟机建立 ping 连接。当我尝试连接时:
mysql -h 192.168.1.118 -u root -p
我懂了:
ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.1.118' (111)
我打开了端口,并在 mysql 配置中允许连接。我还应该做什么?
答案1
我今天早上也遇到了同样的问题 - 但我对 VM 服务器 + DBs 还不熟悉,所以我没有尝试bind-address = 0.0.0.0
,我在 mysql 中添加了一个新用户
CREATE USER 'name'@'address' IDENTIFIED BY 'password';
其中address
是客户端的 IP 地址,并且它可以工作。