我正在使用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地址连接到服务器?
答案 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)以外的其他方式进行访问是不合适的。将您的服务器暴露给世界并不会有任何好处。