这个错误是由于 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 服务器了。


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

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