如何修改 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 mysql.user;

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM