今天整合SSM时,在创建连接时一直报错 Unable to load authentication plugin 'caching_sha2_password'. 研究了很久发现是因为MySQL的版本问题
我目前用的MySQL 8.0.15,据网上所说,5.x版本和8.x的区别如下:
5.X版本是:default_authentication_plugin=mysql_native_password
8.x版本就是:default_authentication_plugin=caching_sha2_password
但是后来看到一篇博客说将Maven引入的MySQL驱动的jar包改为(8.0.11)版本的jar(我目前用的5.1)看完后马上将自己的jar包下载一个8.0.11发现还是不行
继续百度....又看到说将加密规则重新改一下,又打开MySQL改密码
输入如下代码:(password换成相应密码)
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; FLUSH PRIVILEGES; alter user 'root'@'localhost' identified by 'password';
这里有个坑需要注意,一定看好自己的root用户对应的地址,默认是localhost,我之前小组需要改成了%,这里运行 ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;时一直报错
后来改成ALTER USER 'root'@'%' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; 成功运行。
改完加密规则成功运行,后来又发现,在改完加密规则之后,就算MySQL驱动jar包仍然是5.1也可以使用:



本文详细介绍了在使用MySQL8.0版本时遇到的连接问题及解决方案,主要聚焦于如何调整加密规则以适应不同版本的MySQL驱动。通过更改default_authentication_plugin参数并更新root用户的认证方式,最终解决了因版本差异导致的连接失败问题。
1784

被折叠的 条评论
为什么被折叠?



