Docker 安装 MySQL 8.0
# 一。搜索镜像
查找 Docker Hub 上的 mysql 镜像。
1 | [root@localhost ~]# docker search mysql |
# 二。拉取 MySQL 镜像
拉取 Docker Hub 上的 mysql 镜像。
1 | [root@localhost ~]# docker pull mysql:8.0 |
# 三。查看本地镜像列表
查看 MySQL 镜像是否拉取成功。
1 | [root@localhost ~]# docker images | grep mysql |
# 四。创建存储目录
创建 MySQL 持久化文件目录。
1 | [root@localhost ~]# mkdir -p /home/data/mysql/data /home/data/mysql/conf /home/data/mysql/logs |
# 五。启动容器
options 说明:
–restart=always: 重启策略
- d: 后台运行容器,并返回容器 ID
-p: 端口映射,格式为:主机 (宿主) 端口:容器端口
–name: 为容器指定一个名称
- v: 给容器挂载存储卷,挂载到容器的某个目录
–mount: 绑定数据目录和服务器配置文件
- e MYSQL_ROOT_PASSWORD: 设置数据库密码
–character-set-server: 设置编码
–collation-server: 设置编码
1 | [root@localhost ~]# docker run --restart=always --name=mysql8.0 -p 3306:3306 \ |
# 六。配置远程工具连接
使用远程工具连接会报错: 2059 - Authentication plugin ‘caching_sha2_password’ cannot be loaded: …
原因: MySql 8.0 换了新的身份验证插件 caching_sha2_password, 原来的身份验证插件为 mysql_native_password。而客户端工具 Navicat Premium 中找不到新的身份验证插件 caching_sha2_password;
解决方法:
以 root 用户身份进入 mysql
命令: docker exec -it mysql8.0 mysql --user=root --password=123456
1 | [root@localhost data]# docker exec -it mysql8.0 mysql --user=root --password=123456 |