使用localhost连接数据库时出错是什么,我可以将数据库与主机连接为本地IP地址?

时间:2018-01-11 14:54:28

标签: php mysql php-mysqlidb

我的php页面和mysql服务器在同一台服务器上。 我可以使用本地IP连接数据库,它的工作原理。 但是,当尝试连接localhost时,它显示以下错误

连接失败:用户'root'@'localhost'

拒绝访问

更改了mysqld.cnf文件 作为BIND ADDRESS = 0.0.0.0

我给了以下许可 在上授予所有权限。到root @ localhost IDENTIFIED BY'password'WITH GRANT OPTION; 在上授予所有权限。根目录@我的本地IP IDENTIFIED BY'密码'WITH GRANT OPTION;

我不知道我的代码和配置有什么问题......

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$database="db";
// Create connection
$conn = new mysqli($servername, $username, $password, $database);
// Check connection
if ($conn->connect_error){
    die("Connection failed: "  . mysqli_connect_error());
} else {
echo 'connected successfully';die;
}
mysqli_close($conn);
?>

1 个答案:

答案 0 :(得分:1)

您是否尝试过servername 127.0.0.1?

来自mysql手册:

  

在Unix上,MySQL程序特别对待主机名localhost,其方式可能与您期望的与其他基于网络的程序相比有所不同。对于与localhost的连接,MySQL程序尝试使用Unix套接字文件连接到本地服务器。即使给出--port或-P选项指定端口号,也会发生这种情况。要确保客户端与本地服务器建立TCP / IP连接,请使用--host或-h指定主机名值127.0.0.1,或本地服务器的IP地址或名称。1