【问题标题】:Database connection error Access denied for user 'root'@'localhost' (using password: NO)数据库连接错误用户'root'@'localhost'的访问被拒绝(使用密码:否)
【发布时间】:2021-05-15 07:53:18
【问题描述】:

每当我转到 localhost/Blog/app/DB 时,我都会遇到此错误。我尝试了很多次连接到数据库但无法连接。即使我使用“root”的mysql密码,这也不起作用。请有人帮助我这是我的连接代码:

host = "localhost";
$username = "root";
$password ="";
$db_name ="blog";

$conn = new mysqli($host, $username, $password, $db_name);

if($conn->connect_error){
    die(' Database connection error '.$conn->connect_error);
}

这是我的 phpmyadmin 用户帐户:

【问题讨论】:

  • 可能是因为您没有设置密码?
  • @Crimin4L 我有一个设置密码,即 root。如果我在 PHP 代码中使用此密码,则会看到此错误 Access denied for user 'root'@'localhost' (using password: YES)
  • 不确定是否会有所不同,但您是否尝试过为127.0.0.1::1localhost 设置相同的密码?由于它们都是本地地址,因此对它们拥有不同的凭据似乎很奇怪。值得一试吗?或者甚至只是尝试使用127.0.0.1。 (如果您对用户进行任何更改,请不要忘记刷新权限)
  • 避免使用root。创建一个具有 CRUD 权限和访问 db 的新用户

标签: php mysql database mariadb


【解决方案1】:

正如 Indra 所说,避免使用 root。此帐户只能由人类使用,即使在开发环境中也是如此。如果您需要一个可以完全访问所有内容的帐户,请创建一个:

CREATE USER 'indra'@'localhost' IDENTIFIED WITH mysql_native_password BY 'superSecretPassword!123';
GRANT ALL ON *.* TO 'indra'@'localhost' WITH GRANT OPTION;

MySQL 中的root 帐户只应在您配置复制或修复一些真正非常错误的问题时使用?

【讨论】:

  • 'indra'@'localhost' ?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-09
  • 2016-12-27
  • 2012-06-17
相关资源
最近更新 更多