我目前正在虚拟机上使用 ubuntu 服务器来获得用于测试的辅助环境。该服务器还安装了 mysql-server,但我想通过主机上的 mysql workbench 来管理它,但尝试连接远程主机时却被拒绝连接。
主持人:
telnet 192.168.56.8 3306
Trying 192.168.56.8...
Connected to 192.168.56.8.
Escape character is '^]'.
EHost '192.168.56.1' is not allowed to connect to this MySQL serverConnection closed by foreign host.
尝试连接
mysql -h 192.168.56.8:3306 -u root
ERROR 2005 (HY000): Unknown MySQL server host '192.168.56.8:3306'
VBOX:
mysql.cnf
[client]
port = 3306
...
[mysqld]
bind-address = 192.168.56.8
...
/etc/网络/接口
auto eth0
iface eth0 inet dhcp
auto eth1
iface eth1 inet static
address 192.168.56.8
netmask 255.255.255.0
检查端口
netstat -l --numeric-ports | grep 3306
tcp 0 0 192.168.56.8:3306 0.0.0.0:* LISTEN
答案1
你说你尝试过这样连接
mysql -h 192.168.56.8:3306 -u root
ERROR 2005 (HY000): Unknown MySQL server host '192.168.56.8:3306'
IP 和端口应该是分开的
mysql -h 192.168.56.8 -P3306 -u root
由于 mysql 的默认端口是 3306,因此无需指定
mysql -h 192.168.56.8 -u root
答案2
grant all on *.* to root@'192.168.56.1'
答案3
3306 是默认的 mysql 端口。因此您的命令应如下所示:
mysql -h 192.168.56.8 -u root
否则,您可以在 mysql 服务器上尝试此操作:
iptables -F
(重启机器后iptables会恢复)
或者
iptables -A INPUT -i eth0 -p tcp -m tcp --dport 3306 -j ACCEPT
然后尝试再次连接。