MySQL问题:ERROR 1698 (28000): Access denied for user 'root'@'localhost'

问题描述:

Server version: 8.0.21-0ubuntu0.20.04.4 (Ubuntu)

ERROR 1698 (28000): Access denied for user 'root'@'localhost'

解决方案:

出现这个原因是mysql8.0 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password, 解决此问题方法有两种,一种是升级客户端驱动,一种是把mysql用户登录密码加密规则还原成mysql_native_password。

如果修改用户密码加密规则可使用如下方式:

-- 修改密码并指定加密规则为mysql_native_password

mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

Query OK, 0 rows affected (0.01 sec)

-- 刷新权限

mysql> flush privileges;

Query OK, 0 rows affected (0.01 sec)

上一篇:2021-09-07 gpfdist ERROR 404 permission denied


下一篇:navicat连接阿里云服务器的mysql(linux系统),解决Access denied for user ‘root‘@的错误