docker-compose安装mysql8.0,并且解决Public Key Retrieval is not allowed报错问题
时间: 2023-07-22 21:08:01 浏览: 111
好的,下面是如何使用 Docker Compose 安装 MySQL 8.0 并解决 "Public Key Retrieval is not allowed" 报错问题的步骤:
1. 首先,创建一个名为 `docker-compose.yml` 的文件,并在其中添加以下内容:
```yaml
version: '3'
services:
db:
image: mysql:8.0
command: --default-authentication-plugin=mysql_native_password
restart: always
environment:
MYSQL_ROOT_PASSWORD: your_root_password
ports:
- 3306:3306
```
请将 `your_root_password` 替换为你想要设置的 MySQL root 用户密码。
2. 保存并关闭 `docker-compose.yml` 文件。
3. 打开终端或命令提示符,进入包含 `docker-compose.yml` 文件的目录。
4. 运行以下命令启动 MySQL 容器:
```
docker-compose up -d
```
这将下载并启动 MySQL 8.0 容器。
5. 当容器成功启动后,你可以使用以下命令检查容器的状态:
```
docker-compose ps
```
你应该看到一个名为 `db` 的容器正在运行。
6. 如果你遇到 "Public Key Retrieval is not allowed" 报错问题,请尝试使用以下命令进入 MySQL 容器:
```
docker exec -it <container_id> bash
```
请将 `<container_id>` 替换为实际的容器 ID。可以通过运行 `docker ps` 命令来获取容器 ID。
7. 在进入容器的终端后,使用以下命令连接到 MySQL 服务器:
```
mysql -u root -p
```
然后输入之前在 `docker-compose.yml` 文件中设置的 MySQL root 用户密码。
8. 连接成功后,运行以下命令修改 MySQL 配置:
```
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_new_password';
FLUSH PRIVILEGES;
```
请将 `your_new_password` 替换为你想要设置的新密码。
9. 退出 MySQL 终端:
```
exit
```
现在,你已经成功安装 MySQL 8.0 并解决了 "Public Key Retrieval is not allowed" 报错问题。
请记住,在步骤 7 和步骤 8 中,你可以根据自己的需求修改 MySQL 用户和密码。确保在生产环境中使用强密码,并采取其他安全措施来保护你的数据库。