文章目录
1、拉取MySQL镜像
# 该命令拉取最新版本
docker pull mysql
# 如果指定版本按照如下方式,5.7修改为你要下载的版本即可
docker pull mysql:5.7
2、查看镜像是否拉取成功
我拉取的是最新版本
docker images

3、启动mysql
3.1、创建文件夹把mysql的文件夹映射出来
mkdir -p /Users/x/data/01software/docker/mysql/{data,conf,logs}
把/Users/x/data/01software/docker/mysql改成你的路径
3.2、在conf文件夹下,创建mysql的配置文件如下
说明:我这里就简单配置了,各位可以按照需求详细配置mysql
[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
port=3306
max_connections=200
general_log=1
slow_query_log=1
default-storage-engine=INNODB
default_authentication_plugin=mysql_native_password
bind-address=0.0.0.0
[client]
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4
3.3、启动mysql
docker run -d -p 3306:3306 --name mysql --restart=always --privileged=true \
-v /Users/x/data/01software/docker/mysql/data:/var/lib/mysql \
-v /Users/x/data/01software/docker/mysql/conf/my.cnf:/etc/mysql/conf.d/my.cnf \
-v /Users/x/data/01software/docker/mysql/logs:/var/log/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
mysql:latest
命令说明:
把/Users/x/data/01software/docker/mysql修改为你的路径
-p 3306:3306:指定宿主机端口与容器端口映射关系
--name mysql:创建的容器名称
--restart=always:总是跟随docker启动
--privileged=true:获取宿主机root权限
-v /Users/x/data/01software/docker/mysql/logs:/var/log/mysql:映射日志目录,宿主机:容器
-v /Users/x/data/01software/docker/mysql/data:/var/lib/mysql:映射数据目录,宿主机:容器
-v /Users/x/data/01software/docker/mysql/conf/my.cnf:/etc/mysql/conf.d/my.cnf :映射配置目录,宿主机:容器
-v /etc/localtime:/etc/localtime:ro :让容器的时钟与宿主机时钟同步,避免时区的问题,ro是read only的意思,就是只读。
-e MYSQL_ROOT_PASSWORD=123456:指定mysql环境变量,root用户的密码为123456
-d mysql:latest:后台运行mysql容器,版本是latest。
4、验证mysql运行状态
命令:
docker ps
4.1、启动失败日志排查
STATUS显示Restarting,说明是有问题的:

我们看一下日志:
docker logs -f mysql

修改一下我们创建的文件夹的权限:chmod 777 文件夹
再次查看,STATUS显示Up,说明启动成功:

同时可以到我们映射的文件夹下查看:

5、登录进入容器内的mysql查看
docker exec -it 3687a1d603b9 /bin/bash
mysql mysql -uroot -p

6、连接mysql

7459

被折叠的 条评论
为什么被折叠?



