docker 中启动mysql
docker run -d \
--name mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
-p 3306:3306 \
-v /mnt/d/mysql8/log:/var/log/mysql \
-v /mnt/d/mysql8/data:/var/lib/mysql \
-v /mnt/d/mysql8/conf:/etc/mysql/conf.d \
--user=root \
mysql:8.0
如果链接提示提示Public Key Retrieval is not allowed
连接 MySQL 时出现 “Public Key Retrieval is not allowed” 错误,是因为客户端在连接过程中需要获取服务器的公钥,但默认配置禁用了这一操作。这通常发生在 MySQL 8.0 及以上版本(使用 caching_sha2_password 认证插件)的连接场景中。
在连接 MySQL 的 URL 或配置中,添加 allowPublicKeyRetrieval=true 参数,允许客户端获取公钥
例如:
// 原连接URL
String url = "jdbc:mysql://localhost:3306/your_database?user=root&password=123456";
// 修改后(添加allowPublicKeyRetrieval=true)
String url = "jdbc:mysql://localhost:3306/your_database?user=root&password=123456&allowPublicKeyRetrieval=true";

浙公网安备 33010602011771号