无法用php连接到MySQL服务器,但可以通过HeidiSQL

时间:2014-05-03 00:45:14

标签: php mysql mysqli heidisql

当我尝试使用以下代码连接到网站数据库时:

$server = "domain";
$login = "username";
$password = "password";
$database = "databasename";
$port = 3307;
$con = mysqli_connect($server, $login, $password, $database, $port);

并启用所有警告和错误我收到消息说

  

警告:mysqli_connect():( HY000 / 2003):无法连接到域上的MySQL服务器' (111)在'路径'

然而,当我将$ server更改为localhost时,它可以正常工作。

如果它通过php阻止我,除非我使用localhost有没有人知道为什么HeidiSQL或MySQL Administrator客户端可以使用域连接?

1 个答案:

答案 0 :(得分:0)

我从您的问题陈述中了解到,您无法使用域或IP地址连接到MySQL服务器。 要解决此问题,首先需要向用户授予数据库访问权限。在sql下面检查哪个适合你。

GRANT ALL PRIVILEGES ON `databasename`.* TO 'username'@'domain' IDENTIFIED BY 'password' WITH GRANT OPTION;

授予用户权限后,请检查MySQL配置设置。编辑你的MySQL配置文件my.cnf并设置nbelow提到的设置。

将bind-address设置为0.0.0.0或将其注释掉:

bind-address            = 0.0.0.0
OR
# bind-address          = 127.0.0.1