docker mysql8.0挂载_Docker安装MySQL 8.0.17 并挂载数据及配置文件,修改时区

本文详细介绍了如何使用Docker安装MySQL 8.0.17,并实现数据挂载以确保持久化。通过创建本地目录并挂载到容器的/data和/conf,保持数据和配置文件的安全。同时,文章还讲解了如何修改my.cnf文件以设置时区,并在容器重启后检查数据的正确性和时区设置。
摘要由CSDN通过智能技术生成

一般来说是不需要手动指定MySQL挂载卷,因为mysql会自动挂载,

通过 dokcer inspect 你的容器名称 可以查看容器已挂载的路径 /var/lib/docker/volumes/855a71109c9ac92a8a9243cc5058aaa41******

如果删除了容器,可以在重新run一个mysql的时候把“/var/lib/docker/volumes/855a71109c9ac92a8a9243cc5058aaa41******”这个挂上去,这样以前的数据也可以使用,

如果在run的时候手动指定挂载卷,则mysql的数据会以指定的目录挂载

1:下载镜像

docker pull mysql:8.0.17

2:启动

# 运行mysql命名容器名称为mysql并且设置root账号初始密码为root

docker run-p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD="root" -d mysql:8.0.17

3:确定mysql配置文件路径

#进入docker容器,mysql为刚安装的容器名称

docker exec-it mysql bash

# 查找Docker内,MySQL配置文件my.cnf的位置

mysql--help | grep my.cnf

70450ccd1933ffb38e80b5f394813949.png

4:创建本地路径并挂载Docker内数据

mkdir -p /home/data/mysql/conf && mkdir -p /home/data/mysql/data

# 将容器的配置复制到服务器

docker cp mysql:/etc/mysql/my.cnf /home/data/mysql/conf/my.cnf

# 修改字符集

vim /home/data/mysql/conf/my.cnf

character-set-server=utf8

5:重新创建容器

docker run --name mysql \

-p 3306:3306 \

-v /home/data/mysql/conf/my.cnf:/etc/mysql/my.cnf \

-v /home/data/mysql/data:/var/lib/mysql \

-v /home/data/mysql/log:/logs \

-e MYSQL_ROOT_PASSWORD=123456 \

--restart=always \

-d mysql:8.0.17

docker inspect mysql

查看已挂载的卷就是指定的目录了

3feb5e77fdd3ad34bd4eff4752ab6387.png

6:到此mysql已经创建完毕,可以远程连接数据,创建测试数据库"test"

7:查看挂载的本地data目录下是否有新建的数据库“test”,有说明挂载成功

8:移除刚创建的容器,看看本地data数据盘,"test"数据是否依然存在

9:重新部署mysql数据库docker容器,远程连接数据库,发现数据库依然存在"test"数据库,说明数据持久化成功

10:修改时区

vim /home/data/mysql/conf/my.cnf

添加 default-time-zone = '+08:00'

重启docker中的mysql容器即可,不是docker中的mysql重启mysql服务即可

docker restart your_mysql_name

再次进入mysql中查看当前时间和时区

4099131f76f2d6c4131915078d0eaf8a.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值