【问题标题】:How to access MySQL from a remote computer (not localhost)?如何从远程计算机(不是本地主机)访问 MySQL?
【发布时间】:2012-01-17 05:56:12
【问题描述】:

我将我的开发环境设置为 vmware 中的 Ubuntu 服务器(安装了 LAMP)。 vmware 正在我的本地 Windows 7 机器上运行。当我尝试通过 HeidiSQL 程序访问我的 mysql 服务器时,连接失败。我得到一个:

Server Error 2003, can't connect to mysql server on <IP ADRESS HERE>

但是我可以通过 PhpMyAdmin 访问数据库服务器。 MySQL 正在运行,我的连接凭据和端口都正确。

我读到您应该在 my.cnf 文件中输入您尝试连接的计算机的 IP 作为“绑定地址”。我做到了。我尝试了内部网络IP以及在线IP。仍然没有运气,同样的消息。

由于这不是一个生产环境,我希望允许任何人访问该服务器,而不是受 IP 限制。特别是因为我的 ISP 分配了动态 IPS。所以我必须一直改变它,假设它甚至可以工作。

那么有人知道我如何从远程计算机连接到我的 MySQL 服务器吗?

附:我认为这是开发人员必须处理的事情,这就是为什么我在这里发布它而不是超级用户。如果必须迁移,请将其发送给服务器故障而不是超级用户。

【问题讨论】:

标签: mysql networking


【解决方案1】:

好的,请注意,这会让世界和他的狗访问您的 mysql 服务器。

GRANT ALL ON *.* to '%'@'%' WITH GRANT OPTION;

但是假设您在 192.168.1.2/16 的家庭网络上,那么您至少可以像这样限制它。

GRANT ALL ON *.* to '%'@'192.168.%' WITH GRANT OPTION;

另一种选择是您有用户名和密码,但想从任何地方连接

GRANT ALL ON *.* to 'mysecretuser'@'%' IDENTIFIED BY 'mysecretpassword' WITH GRANT OPTION;

【讨论】:

  • 对不起这里的菜鸟,我在哪里输入这个,在 mysql 监视器中?还是添加到cnf文件中?
  • 这将通过客户端连接到 mysql 数据库。
  • 所以我尝试在 mysql 命令行中输入第一个,它说 1 行受到影响。然后我重新启动服务器并尝试从远程计算机再次连接,但仍然是同样的错误。
  • 你在mysql盒子上启用了防火墙吗?
【解决方案2】:

对于 Heidi SQL,我能够按照本文中的说明使用它:

http://mysql-tools.com/en/articles/http-tunnel/73-heidisql-a-http-tunnel.html

它使用一个名为 HTTP Tunnel 的程序。它慢了很多,但至少它有效。如果你使用 Navicat,它带有一个 PHP 文件,你可以上传到你的服务器,它会通过它连接。

【讨论】:

    【解决方案3】:

    首先使用cmd检查分配给vmware的ip

    ipconfig/all
    

    假设分配给 vmware 的 ip 是 192.168.11.1 现在在 vmware 的 ubuntu 中检查 ipadress

    ifconfig
    

    假设 ubuntu 的 ip 地址是 192.168.11.137 现在打开mysql配置

    sudo nano /etc/mysql/my.cnf 修改绑定地址为ubuntu ip地址

    bind-address = 192.168.11.137
    

    重启mysql 现在连接到 mysql

    mysql -u root -p
    

    并创建一个具有所有权限和 vmware 主机 IP 的用户,即 192.168.11.1

    GRANT ALL ON db.* TO user@'192.168.11.1' IDENTIFIED BY 'PASSWORD';
    

    现在尝试从 Windows 连接。 也打开mysql的端口

    /sbin/iptables -A INPUT -i eth0 -p tcp --destination-port 3306 -j ACCEPT
    

    重启mysql并尝试连接ubuntu主机ip地址192.168.11.137

    【讨论】:

      猜你喜欢
      • 2014-05-21
      • 1970-01-01
      • 2012-06-09
      • 1970-01-01
      • 2023-03-26
      • 2018-01-30
      • 2012-07-07
      • 2018-01-29
      • 1970-01-01
      相关资源
      最近更新 更多