这个错误是由于MySQL服务器采用了比较高级的身份验证方式(如MySQL 8.0默认的caching_sha2_password),而客户端采用的是较低级别的身份验证方式(如MySQL 5.x默认的mysql_native_password)所导致的。解决方法有以下两种:

  1. 升级客户端的MySQL驱动程序。最新版本的MySQL驱动程序支持新的身份验证方式。可以从MySQL官网下载最新的驱动程序,或者在项目中使用更先进的数据库连接库,如JDBC 8.0。

  2. 在MySQL服务器上创建新的用户并授予较低级别的身份验证方式。可以通过以下SQL语句创建用户并使用旧的身份验证方式:

CREATE USER 'username'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

GRANT ALL PRIVILEGES ON * . * TO 'username'@'localhost';

FLUSH PRIVILEGES;

其中,'username'和'password'分别是新用户的用户名和密码。这样,客户端就可以使用较低级别的身份验证方式连接MySQL服务器了。


原文地址: http://www.cveoy.top/t/topic/beaC 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录