要解决此问题可以采取以下几种方法之一方法 1: 修改 JDBC URL如果您正在使用 Java 的 JDBC 连接可以在连接字符串中添加 allowPublicKeyRetrievaltrue 参数。这将允许驱动程序从服务器检索公钥以进行身份验证。示例 JDBC URLjavaString url “jdbc:mysql://hostname:port/databaseallowPublicKeyRetrievaltrueuseSSLfalse”;hostname: 您的 MySQL 服务器地址。port: 通常是 3306。database: 您希望连接的数据库名称。方法 2: 更改用户身份验证方法如果您控制 MySQL 用户的创建方式可以使用 mysql_native_password 身份验证插件来避免这个错误。可以通过以下步骤更改用户的身份验证方法登录到您的 MySQL 数据库bashmysql -u root -p更新用户的身份验证方法sqlALTER USER ‘admin_nq’‘%’ IDENTIFIED WITH mysql_native_password BY ‘123456’;刷新权限sqlFLUSH PRIVILEGES;方法 3: 修改 MySQL 配置文件对于运行 MySQL 8.0 或更高版本的服务器可以考虑修改 MySQL 配置使默认身份验证插件为 mysql_native_password。找到并编辑 MySQL 配置文件通常位于 /etc/mysql/my.cnf 或 /etc/my.cnf。添加或修改如下内容ini[mysqld]default_authentication_pluginmysql_native_password保存文件并重启 MySQL 服务bashsudo service mysql restart