我在连接到本地数据库时遇到问题。出于某种原因,当我尝试连接时,它显示以下错误:
连接失败:SQLSTATE [HY000] [1045]用户'root'@'localhost'拒绝访问(使用密码:否)
我设法与用户连接到我的phpmyadmin,并使用命令行,但当我尝试使用我的PHP脚本时我不能。但我之前确实设法做到了。
我使用一个简单的PDO连接代码:
define('DB_USER', "root");
define('DB_PASSWORD', "");
$DB_SERVER = "localhost";
$DB_DATABASE = "app-db";
try {
$conn = new PDO("mysql:host=$DB_SERVER;dbname=$DB_DATABASE", DB_USER, DB_PASSWORD);
// set the PDO error mode to exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
echo "Connection failed: " . $e->getMessage();
}
我也尝试使用'new mysqli(host,user,password)'和'mysqli_connect(host,user,password,database)'和相同的响应,拒绝用户访问。
任何帮助都会很棒。
解决了:
显然我运行了2个mysql进程,而我使用的那个进程没有在默认端口上运行。