MySQL Access denied for user ‘root’@’localhost’ in dbeaver错误

MySQL Access denied for user ‘root’@’localhost’ in dbeaver错误

在本文中,我们将介绍在使用 DBeaver 连接 MySQL 数据库的过程中遇到的 Access denied for user ‘root’@’localhost’ 错误。这是个常见的问题,特别是在第一次安装 MySQL 的时候。

阅读更多:MySQL 教程

问题的原因

Access denied for user ‘root’@’localhost’ 错误通常是由于 MySQL 没有 root 用户的密码而引起的。当然,也有可能是你输入了错误的密码。还有一种情况是,在安装 MySQL 的时候,root 用户不允许从本地登录。

解决方案

方案一:重置 root 用户的密码

如果你忘记了 root 用户的密码,可以使用以下步骤来重置密码:

  1. 停止 MySQL 服务。
   sudo systemctl stop mysql
Mysql
  1. 运行以下命令,跳过权限检查,进入 MySQL:
   sudo mysqld_safe --skip-grant-tables &
Mysql
  1. 通过 root 用户登录:
   mysql -u root
Mysql
  1. 使用以下命令来修改 root 用户的密码:
   UPDATE mysql.user SET authentication_string=PASSWORD('password') WHERE User='root';
   FLUSH PRIVILEGES;
Mysql

注意替换 ‘password’ 为你想要设置的密码。
5. 退出 MySQL 并停止 MySQL 服务。

   exit;
   sudo systemctl stop mysql
Mysql
  1. 重新启动 MySQL 服务,并使用新密码登录。
   sudo systemctl start mysql
Mysql

方案二:创建新的 MySQL 用户

如果你不想使用 root 用户连接到 MySQL,可以创建一个新的用户。以下是创建新用户并授权的步骤:

  1. 使用 root 用户登录 MySQL:
   mysql -u root -p
Mysql

输入密码,如果没有密码,直接回车。
2. 创建新用户:

   CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
Mysql

注意替换 ‘newuser’ 和 ‘password’ 为你想要创建的用户名和密码,分别对应用户名和密码。
3. 授予新用户权限:

   GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'localhost';
Mysql
  1. 刷新权限:
   FLUSH PRIVILEGES;
Mysql
  1. 退出 MySQL。
   exit;
Mysql
  1. 使用新用户连接 MySQL。

总结

在使用 DBeaver 连接 MySQL 数据库的过程中出现 Access denied for user ‘root’@’localhost’ 错误是个常见的问题,但是有多种解决方案。可以重置 root 用户的密码,也可以创建一个新的用户并授权。任何一种解决方案都需要确保 MySQL 服务已经启动。如果你对使用 MySQL 有任何问题,可以参考 MySQL 官方文档获得帮助。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册