(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