【MYSQL】连接报错Public Key Retrieval is not allowed

要解决此问题,可以采取以下几种方法之一:

方法 1: 修改 JDBC URL
如果您正在使用 Java 的 JDBC 连接,可以在连接字符串中添加 allowPublicKeyRetrieval=true 参数。这将允许驱动程序从服务器检索公钥以进行身份验证。

示例 JDBC URL:

java
String url = “jdbc:mysql://hostname:port/database?allowPublicKeyRetrieval=true&useSSL=false”;
hostname: 您的 MySQL 服务器地址。
port: 通常是 3306。
database: 您希望连接的数据库名称。
方法 2: 更改用户身份验证方法
如果您控制 MySQL 用户的创建方式,可以使用 mysql_native_password 身份验证插件来避免这个错误。可以通过以下步骤更改用户的身份验证方法:

登录到您的 MySQL 数据库:

bash
mysql -u root -p
更新用户的身份验证方法:

sql
ALTER USER ‘admin_nq’@‘%’ IDENTIFIED WITH mysql_native_password BY ‘123456’;
刷新权限:

sql
FLUSH PRIVILEGES;
方法 3: 修改 MySQL 配置文件
对于运行 MySQL 8.0 或更高版本的服务器,可以考虑修改 MySQL 配置,使默认身份验证插件为 mysql_native_password。

找到并编辑 MySQL 配置文件(通常位于 /etc/mysql/my.cnf 或 /etc/my.cnf)。

添加或修改如下内容:

ini
[mysqld]
default_authentication_plugin=mysql_native_password
保存文件并重启 MySQL 服务:

bash
sudo service mysql restart

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值