我的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);
?>
答案 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