一. 搜索镜像
查找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 |
最后更新: 2021年04月01日 11:03