PHP MySql未知服务器主机

时间:2014-08-04 17:18:13

标签: php mysql ubuntu-12.04 webmin dyndns

我正在运行Ubuntu 12.04.4 LTS与MySQL 5.5.38和PHP 5.3.10,使用Webmin 1.680(虽然我也使用终端进行管理)。我是一个动态IP,所以我一直在使用dyndns来托管一个网站,这个网站一直运行良好。我想扩展我的网站以访问mysql数据库。我试图使用PHP连接到mysql,特别是我使用Webmin设置的特定数据库。但是,我一直收到错误:

  

“未知的MySQL服务器主机'127.0.0.1:3306'”

我检查了mysql配置,并将其设置为该IP和端口。我还检查了我的服务器主机,IP是本地主机。我的路由器设置为将端口3306转发到我的服务器。无论我是本地连接还是远程连接都会发生我正在使用以下PHP字符串连接:

$link = mysqli_connect("127.0.0.1:3306", "username", "password", "dbname");

我在我的任务中找到的解决方案,它们不起作用...将连接字符串中的主机更改为“localhost:3306”或我的dyndns主机名“XYZ.dyndns.org:3306”,或者我的服务器的本地IP - 并更改mysql绑定地址以匹配。我已经尝试在配置文件中注释掉绑定地址。我在这个论坛和其他人上发现了类似的问题,但没有一个解决方案适合我。我是数据库的新手,但是已经做了很多关于使用PHP来操作它们的研究,我只是无法通过这个连接错误。我一直在自学如何运行服务器,并且能够自己解决每个问题,直到这个问题。我可以从我服务器上的终端登录到mysql,但执行“show databases”命令它不会列出我通过webmin创建的数据库,即使我是用户对该数据库的完全访问/控制。

1 个答案:

答案 0 :(得分:1)

当我开始使用mysqli时,我遇到了类似的问题。如果您需要包含该端口,它在mysqli_connect中有自己的位置。

$link = mysqli_connect("127.0.0.1", "username", "password", "dbname", 3306);

应该更适合你。但我相信3306是默认端口,因此您可以将其关闭。