Docker 安装 MySQL,DBeaver 连接 MySQL
1. 安装最新版本 MySQL
bash
docker pull mysql:latest
2. 安装 MySQL 镜像
bash
docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql
3. 连接 DBeaver
报错:"UnableToConnectException: Public Key Retrieval is not allowed"
该错误通常出现在使用 MySQL 8 及以上版本时,因为 MySQL 默认使用 caching_sha2_password 身份验证插件,而客户端需要从服务器检索公钥以进行身份验证。
bash
# 1. 进入 docker
docker exe -it mysql /bin/bash
# 2. 进入 MySQL,密码:123456
mysql -uroot -p
# 3. 查看当前的 RSA 公钥
SHOW STATUS LIKE 'Caching_sha2_password_rsa_public_key';
# 公钥内容
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAn9hbFlOidtx9saMOW9L6
4z0XaMaNx1rnv8s/crBq5tKnahNHYmlyj5mBqhlT2svfRWvrtjI5XSNoQVpO3a3w
xKPZjxkmiAnCfrH9v1A3KPGX4Kg0wJmHPekIhZtS+Jre1fb4yUzToti86yQjoDoO
2et6AS5Ozisk64038Wh8VZuY7DjR+geP1ZlbWM6HUTMC1XHsXCAIfMEoQqFsrCD2
o+cz16T+2j23X3DXoZ/5S6fs9zAtrPkMfoOlUm0AkfILNWVMcjo9uPPo8TKBjPUZ
jKRtlWa3D2/VItLcEbs5LJ1LBQlvgwCQiS4acGjCw23+P/PoHpTDUhQC+gPJdyWk
LwIDAQAB
-----END PUBLIC KEY-----
# 4. 复制公钥到系统文件夹,这里是Mac系统,我存放的位置是
vim ~/.ssh/myql/public_key.pem
# 5. 打开 DBeaver 配置好公钥地址,即可连接成功。
