ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)

1.无法访问mysql的root用户 

这个错误表示使用给定的密码无法访问MySQL的root用户。出现这个错误可能有几个原因:

  1. 密码错误:请确保输入的密码是正确的。MySQL的密码是区分大小写的,所以请检查密码是否完全匹配。

  2. 用户不存在:请确认使用的用户名是正确的。默认情况下,MySQL中的root用户是存在的,但也有可能已经被删除或重命名。

  3. 主机限制:MySQL可以配置限制root用户只能从特定的主机登录。如果你是在本地主机上登录,确保使用的是正确的主机名或IP地址。

2.账密正确无法访问 

如果你确定输入的用户名和密码是正确的,你可以尝试重置root用户的密码。请按照以下步骤进行:

  1. 停止MySQL服务:可以使用以下命令停止MySQL服务:

    systemctl stop mysql
    # 或者,如果你使用的是旧版本的MySQL:
    
    service mysql stop
  2. 启动MySQL服务,并跳过权限验证:使用以下命令启动MySQL服务,并跳过权限验证:

    mysqld_safe --skip-grant-tables &
  3. 连接到MySQL数据库:使用以下命令连接到MySQL数据库:

    mysql -u root
  4. 更新root用户的密码:使用以下命令更新root用户的密码(将 new_password 替换为你想要设置的新密码):

    UPDATE mysql.user SET authentication_string = PASSWORD('new_password') WHERE User = 'root';
  5. 刷新权限:使用以下命令刷新权限:

    FLUSH PRIVILEGES;
  6. 退出MySQL并重新启动服务:使用以下命令退出MySQL,并重新启动MySQL服务:

    exit; 
    systemctl start mysql 
    # 或 service mysql start

完成以上步骤后,尝试使用新密码连接到MySQL数据库。

ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)_第1张图片

你可能感兴趣的:(Linux,linux)