连接失败:SQLSTATE[HY000][1045] Access denied for 'username'@'localhost'(user password:YES) 我正在尝试使用 PDO 连
Posted
技术标签:
【中文标题】连接失败:SQLSTATE[HY000][1045] Access denied for \'username\'@\'localhost\'(user password:YES) 我正在尝试使用 PDO 连接 php 和我的 sql【英文标题】:connection failed: SQLSTATE[HY000][1045] Access denied for 'username'@'localhost'(user password:YES) I am trying to connect php and my sql with PDO连接失败:SQLSTATE[HY000][1045] Access denied for 'username'@'localhost'(user password:YES) 我正在尝试使用 PDO 连接 php 和我的 sql 【发布时间】:2022-01-10 10:52:59 【问题描述】: $servername= "localhost";
$username = "username";
$password = "password";
try
$conn = new PDO("mysql:host=$servername;dbname=testing",$username, $password);
//set the PDO error mode exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "connected successfully";
catch(PDOException $e)
echo " connection failed: " . $e->getMessage();
【问题讨论】:
【参考方案1】:通过命令行检查您是否可以连接到您的数据库: https://dev.mysql.com/doc/refman/8.0/en/connecting.html
mysql --host=localhost --user=myname --password=password mydb
我相信您不知道访问数据库的凭据...您是如何安装 MySQL 数据库的?
【讨论】:
我是初学者。我正在使用 phpmyadmin phpmyadmin 中有 localhost:13306 和 mysqlworkbench 中有 localhost:13308。这会影响吗?如果这样,我如何将 workbwnch 13306 更改为 13308?【参考方案2】:请检查是否:
用户名username
的用户确实存在。默认 Mysql 安装的标准用户名是root
,而不是username
。
username
的用户拥有密码password
。在默认的 MYsql 安装中,用户 root
没有设置密码。
【讨论】:
通过将用户名更改为root和空白密码,同样的错误以上是关于连接失败:SQLSTATE[HY000][1045] Access denied for 'username'@'localhost'(user password:YES) 我正在尝试使用 PDO 连的主要内容,如果未能解决你的问题,请参考以下文章
MySQL + Laravel:SQLSTATE [HY000] [1045] 用户'so'@'localhost'的访问被拒绝,但连接数据正常并且配置缓存被清除
CPanel SQLSTATE[HY000] [1045] 拒绝用户访问
SQLSTATE[HY000] [1045] 'user'@'localhost' 的访问被拒绝(使用密码:YES)
意外异常:SQLSTATE[HY000] [1045] 用户 ****@'localhost' 的访问被拒绝(使用密码:YES)
(“SQLSTATE [HY000] [1045] 用户'root'@'localhost'的访问被拒绝(使用密码:NO)”)