13

我有一个在 Ubuntu 12.04 上运行的 MySQL 服务器 5.5.32。Ubuntu 正在 VM 上运行。主机平台是 Windows 7。如何从 Windows 连接 Ubuntu 的 MySQL?

到目前为止,我已经完成了以下工作:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;

FLUSH PRIVILEGES;

运行 ashow grant for root;显示:

+-------------------------------------------------------------+
| Grants for root@%                                           |
+-------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION |
+-------------------------------------------------------------+

但是当我尝试从在 Windows 上运行的 SQLYog 连接到此服务器时,我收到错误消息Error 2003 Cannot connect to mysql server on '192.168.xxx.xxx'

提供给 SQLYog 的 IP,我从ifconfig. 提供 inet 地址。

inet addr:192.168.226.xxx  Bcast:192.168.226.yyy

使用的地址是不正确的还是这些授权问题?请指教。

4

5 回答 5

20

您的问题是(可能)您的 mysql 绑定到127.0.0.1而不是0.0.0.0.

您应该将绑定更改/etc/mysql/my.cnf0.0.0.0

bind-address = 0.0.0.0

然后当然要重启mysql。

于 2013-06-06T05:40:31.650 回答
4

在较新版本的 MySQL 中,现在默认只侦听 localhost bind-address = 127.0.0.1 而不是跳过网络

因此,如果您不担心安全问题,您需要将您的机器 IP 添加到此处,或者只需将其注释掉。

于 2015-02-23T16:29:42.403 回答
1

我认为问题在于您的 VM 设置中的网络适配器设置

在你的虚拟机设置中这样做。

虚拟机设置 -> 网络适配器设置 -> 选择桥接

当网络连接处于桥接模式时,VM 将连接到物理网络。

将网络连接更改为bridged后,尝试 ping Windows 机器中的 VM 主机。

如果虚拟机在您的 Windows 机器上执行 ping 操作,那么它将工作。

于 2013-06-06T10:02:03.297 回答
1

错误信息Error No. 2003: Can't connect to MySQL server on 'localhost' (or some other host)

仅表示由于以下(或类似)原因之一而无法连接:

  • 指定主机上没有运行 MySQL 服务器

  • 不允许使用 TCP-IP 连接到 MySQL 服务器。检查 MySQL 配置文件中的“skip-networking”设置(Windows 上的 my.ini,Unix/Linux 上的 my.cnf)。它应该像“#skip-networking”一样被注释掉。如果没有注释掉,则执行此操作并重新启动 MySQL 服务器以使更改生效。SQLyog 需要使用 TCP-IP 进行连接。

  • 一些网络问题阻止了连接。这可能是网络配置错误或防火墙问题。我们有时会遇到一些防火墙阻止 TCP-IP 连接,即使它声称已禁用。大多数情况下,卸载和重新安装防火墙会有所帮助。

  • 当尝试连接到 ISP 的 MySQL 服务器时,此错误消息通常表明与 MySQL 的直接连接已被阻止。然后,您必须使用 HTTP 隧道或 SSH 隧道进行连接。

于 2013-06-06T05:56:41.127 回答
0

错误号 2003:无法连接到“192.168.xx”上的 MySQL 服务器

仅表示由于以下(或类似)原因之一而无法连接:

  • 指定主机上没有运行 MySQL 服务器

  • 不允许使用 TCP-IP 连接到 MySQL 服务器。检查 MySQL 配置文件中的“skip-networking”设置(Windows 上的 my.ini,Unix/Linux 上的 my.cnf)。它应该像“#skip-networking”一样被注释掉。如果没有注释掉,则执行此操作并重新启动 MySQL 服务器以使更改生效。SQLyog 需要使用 TCP-IP 进行连接。

  • 确保您能够使用 telnet 连接到 MySQL 端口

    C:\telnet 主机名/IP_address 端口

于 2013-06-06T05:53:56.393 回答