(HY000/1045) 用户 'root'@'localhost' 的访问被拒绝(使用密码:是)
Posted
技术标签:
【中文标题】(HY000/1045) 用户 \'root\'@\'localhost\' 的访问被拒绝(使用密码:是)【英文标题】:(HY000/1045) Access denied for user 'root'@'localhost'(using password: YES)(HY000/1045) 用户 'root'@'localhost' 的访问被拒绝(使用密码:是) 【发布时间】:2018-12-12 04:23:39 【问题描述】:我的本地主机在浏览器上显示类似Warning: mysqli::__construct(): (HY000/1045): Access denied for user 'root'@'localhost' (using password: YES) in C:\xampp\htdocs\registration\includes\db.php on line 3
的错误我已经完成了所有事情,这是浏览器中错误的图像。
1:here is the image which is facing the error
如果我在我的代码编辑器中做错了什么,那么这里是 db.php db.php files code 的图像
【问题讨论】:
表示您的密码无效... 【参考方案1】:确保完成此映射
输入路径\xampp\phpMyAdmin\congig,inc
/* Authentication type and info */
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = YOUR_DEFAULT_PASSWORD;
还有你的连接文件
<?php
$servername = "localhost";
$username = "root";
$password = YOUR_DEFAULT_PASSWORD;
$db = "ecommerece";
$con = mysqli_connect($servername, $username, $password,$db);
【讨论】:
【参考方案2】:我在尝试在 xampp(32 位)上安装 OpenCart 时遇到了同样的问题。我正在完成我认为被要求的信息,而实际上我被要求的只是数据库的名称。将所有字段保留为原始数据库的名称。 密码留空。
【讨论】:
【参考方案3】:这就是你应该如何使用 mysqli 连接你的数据库:
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "dbname";
$db = new mysqli($servername, $username, $password, $dbname);
?>
【讨论】:
【参考方案4】:将密码改回空
转到 mysqladmin root (C:\xampp\mysql\bin) 并输入 mysqladmin --user=root --password=oldpassword 密码""
请求新密码时不要输入任何字符,直接回车即可
viola 刷新你的 phpmyadmin 页面,
命令行窗口修改密码的问题,直接在phpmyadmin页面修改密码就可以了,http://localhost/phpmyadmin
【讨论】:
【参考方案5】:这个问题很棘手。但是,我如何绕过它很简单。
在您的mysqli_connect(_,_,_,_)
中按"localhost"
、"user"
、"password"
、"database_name"
的顺序排列它们;
【讨论】:
【参考方案6】:您在尝试连接到数据库时传递了无效的凭据(用户名和/或密码)。此处无法回答要传递的内容,因为只有您(数据库管理员)会知道现有用户帐户。
要将用户帐户添加到 MySQL 数据库,请参阅 MySQL :: MySQL 5.7 参考手册 :: 6.3.2 添加用户帐户[^]。这需要以 root 身份连接并提供 root 密码(如果已设置)。
第二个是第一个和使用错误错误函数的结果。对于 mysqli_connect(),你必须调用 PHP: mysqli::$connect_error - Manual[^] 而不是 mysqli_error() 出现错误: 隐藏复制代码 $connection = mysqli_connect($host, $user, $password) or die('Not connected : Ah sh*t ' .mysqli_connect_error());
【讨论】:
【参考方案7】:您的密码可能无效。
编辑:在我看来,您实际上没有将参数传递给连接函数,您是否包含/导入变量?
【讨论】:
嗯,是的,我只需要更改 DB_PASS = none 或 ""【参考方案8】:您的 DB_HOST 是您的 mysql 服务器 ip(大部分时间是 localhost)
您的 DB_USER 是您的 Mysql 用户(大部分时间是 root)
您的 DB_PASS 是您的 Mysql 用户密码(大多数情况下没有)
您的 DB_NAME 是您在 Mysql 服务器中的数据库名称
【讨论】:
以上是关于(HY000/1045) 用户 'root'@'localhost' 的访问被拒绝(使用密码:是)的主要内容,如果未能解决你的问题,请参考以下文章
SQLSTATE[HY000] [1045] 用户'root'@'localhost'的访问被拒绝(使用密码:YES)?
SQLSTATE[HY000] [1045] 使用 Docker 拒绝用户 'root'@'172.19.0.4' 的访问
Mysqli_real_connect():(HY000/1045):用户'root'@'localhost'的访问被拒绝(使用密码:NO)[重复]
警告:mysqli::__construct(): (HY000/1045): ProxySQL Error: Access denied for user 'root'@'2a02:4780:bad
CPanel SQLSTATE[HY000] [1045] 拒绝用户访问
SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: YE