mysql - 如何从远程计算机(不是本地主机)访问MySQL?

标签 mysql networking

我将我的开发环境设置为 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 作为“绑定(bind)地址”。我做到了。我尝试了内网IP和外网IP。仍然没有运气,同样的消息。

由于这不是生产环境,我理想情况下希望允许任何人访问该服务器,而不是通过 IP 限制它。特别是因为我的 ISP 分配了动态 IPS。所以我必须一直改变它,假设它有效。

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

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

最佳答案

好吧,请注意,这让世界和他的狗可以访问你的 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 - 如何从远程计算机(不是本地主机)访问MySQL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8453993/

相关文章:

javascript - 如何使用 Mysql2 Promise 结束数据库连接?

php - 如何检查 while($row = PHP 中的 mysql_fetch_array 的结果

mysql - 将数据从 MySql 同步到 DynamoDb

docker - 在 Jenkins Docker 代理中使用测试容器 : containers fail to start, NoRouteToHostException

networking - 桥接网络和覆盖网络有什么区别?

mysql - 如何高效设计多列表应用的数据库

java - 外键约束的形成不正确 - java-mysql

java - 使用套接字手动发送 Keep-Alive 数据包

python - 有什么方法可以使用 Python 访问 OS X wi-fi 数据吗? (例如信号强度)

linux - 如果绑定(bind)的 linux 套接字没有监听,如何列出它们