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";
posted @ 2021-05-21 10:43  闲看花落  阅读(19897)  评论(0)    收藏  举报