通过公共IP地址连接到MySQL数据库?

时间:2015-05-11 17:11:04

标签: php mysql

我正在使用Xampp并且能够使用hosts static 192.168.0.x将其从我的手机连接到主机但是当我尝试通过我的公共IP连接到数据库时解决它失败。

http://192.168.0.x/testdatabase/有效 http://xx.xx.xxx.xx/testdatabase/(我的公共IP)没有,我已经在端口3306上启用了端口转发到主机静态IP,但它仍然失败,我甚至尝试将:3306添加到ip的末尾

如何通过公共IP地址连接到服务器?

2 个答案:

答案 0 :(得分:1)

我可能会使用SSH隧道。

使用SSH隧道连接到您的服务器,然后使用您的本地客户端连接到您已为隧道设置MySQL的任何端口上的localhost。

在Windows上,您可以使用putty来执行此操作。或者在MacOS / Linux上使用ssh。

我不知道如何设置SSH隧道,但你会在网上找到大量的资源。

答案 1 :(得分:0)

问题不是PHP,问题是你没有指定用户从另一个IP连接的权限。

您在权利管理中授予用户特定权限。如果你想要,从10.10.10.10到你的数据库用户“foo”,你必须允许它:

GRANT ALL ON mydatabase.* TO bar@'10.10.10.10' IDENTIFIED BY 'randompassword';

否则MySQL将阻止对您的数据库的访问。

你也可以允许每一个IP:

GRANT ALL ON mydatabase.* TO bar@* IDENTIFIED BY 'randompassword';

旁注:允许从内部网络(甚至是localhost)以外的其他方式进行访问是不合适的。将您的服务器暴露给世界并不会有任何好处。