从 win7 连接到 VirtualBox/CentOS/MySQL

从 win7 连接到 VirtualBox/CentOS/MySQL

我在 Win7 中运行 VirtualBox 4.2.16。我在 CentOS 6.4 中安装了 MySQL 服务器。从 Win7 到 CentOS 的 Telnet 操作正常。

mysql -u root -h 192.168.56.102 p在 CentOS 中没问题。

这是我在用户表中的内容:

mysql> select user, host from user;
+------+----------------+
| user | host           |
+------+----------------+
| mm   | 127.0.0.1      |
| root | 127.0.0.1      |
| mm   | 192.168.56.102 |
| root | 192.168.56.102 |
| mm   | localhost      |
| root | localhost      |
+------+----------------+

6 rows in set (0.00 sec)

MySQL status:

mysql  Ver 14.14 Distrib 5.6.13, for Linux (x86_64) using  EditLine wrapper

Connection id:      14
Current database:   
Current user:       root@loc
SSL:            Not in use
...
Connection:     192.168.56.102 via TCP/IP

/usr/my.cnf:

[mysqld]

log_bin
port = 3306
bind-address = 192.168.56.102

/etc/hosts:
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.56.102 loc

尽管如此,当我尝试从 Win7/HeidiSQL 连接到 192.168.56.102 端口 3306 上的 root 时,我得到了

SQL 错误(1130)... 主机“192.168.56.1”不允许连接到此 MySQL 服务器。

CentOS 防火墙已关闭,但据我所知,这不是防火墙问题...有什么想法吗?

答案1

尝试通过给予 Access特定的IP,

该命令如下:

# mysql -u root mysql

mysql> grant all on test.* to 'username'@'192.168.56.1';

您可以参考添加sql论坛的用户账户这里

答案2

我看到您说 centos 防火墙关闭了,但我发现我的问题是 centos 防火墙 (firewalld) [阻止了我的请求]。

关闭防火墙证明了这一点:

sudo systemctl stop firewalld

添加一条允许端口开放的规则似乎可以解决问题:

sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent
sudo firewall-cmd --reload

相关内容