Error ER_NOT_SUPPORTED_AUTH_MODE Client does not support authentication protocol requested by server; consider upgrading MySQL client 怎么解决是什么问题
这个错误是由于MySQL服务器采用了比较高级的身份验证方式(如MySQL 8.0默认的caching_sha2_password),而客户端采用的是较低级别的身份验证方式(如MySQL 5.x默认的mysql_native_password)所导致的。解决方法有以下两种:
-
升级客户端的MySQL驱动程序。最新版本的MySQL驱动程序支持新的身份验证方式。可以从MySQL官网下载最新的驱动程序,或者在项目中使用更先进的数据库连接库,如JDBC 8.0。
-
在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 著作权归作者所有。请勿转载和采集!