如何修改 MySQL 的密码认证方式

在使用第三方应用程序连接 MySQL 时遇到错误:plugin caching_sha2_password could not be loaded

经查询得知应该时不支持或者没有对应插件导致,在不能修改第三方程序的情况下,就需要修改 MySQL 的认证方式了。

目前有以下三种处理方式:

1、如果使用 Docker,可以在初始化容器之前添加命令参数:--default-authentication-plugin=mysql_native_password

示例:

docker run -d -p 3306:3306 -v /home/my.cnf:/etc/mysql/my.cnf -v /home/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql mysql --default-authentication-plugin=mysql_native_password

这样默认创建的用户就都使用 mysql_native_password 这种方式了

参考:https://hub.docker.com/_/mysql

2、在 my.cnf 中修改配置

示例:

[mysqld]
default_authentication_plugin = mysql_native_password

在配置生效后的新建用户,将使用配置指定的认证方式

3、现有用户通过 sql 语句修改

-- 使用新的认证方式修改密码
ALTER USER root@% IDENTIFIED WITH mysql_native_password BY 123456;
ALTER USER root@localhost IDENTIFIED WITH mysql_native_password BY 123456;

-- 刷新生效
FLUSH PRIVILEGES;

-- 查看结果
SELECT Host, User, plugin from user;

参考:https://blog.csdn.net/maoxinwen1/article/details/88629313

如何修改 MySQL 的密码认证方式

上一篇:linux下安装7z命令及7z命令的使用


下一篇:MySQL中常见的几种日志