mysql挂载数据卷_Docker数据卷之Mysql持久化

哈喽,又和大家见面了!回顾下,上节我们记录的是Docker关于数据卷的问题,最后我们留了一个任务就是下节我们进行关于Mysql的实战!

ok,开始之前,说几句,在使用数据卷进行Mysql持久化的时候,是有坑的哟,大家注意了!

1、首先使用命令来创建mysql的容器:

docker run -d -p 3308:3306 -v /home/mysql02/conf:/etc/mysql/conf.d -v /home/mysql02/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123123 --name mysql02 mysql:5.7

再来解释下上面的命令:

-d:表示后台运行

-p:端口映射

-v /home/mysql02/conf:/etc/mysql/conf.d :表示将容器中mysql的配置文件挂载到主机的这个目录,来进行数据的同步和持久化

-v /home/mysql02/data:/var/lib/mysql:表示将容器中mysql的数据,也就是库文件等挂载到主机中的这个目录,就是对数据的保存

-e MYSQL_ROOT_PASSWORD=123123:这个-e表示的安装环境,然后后面就是对你这个数据库进行密码的设置

执行之后,然后使用SQLyog进行连接:

2、这个时候,我来创建一个数据库db_test:

Ok,接下来我们来看下数据卷挂载的主机文件中是否也已经有了这个数据库的存在:

OK的,可以看到这个数据库也已经生成!

然后,我们来测试一下数据的持久化:

首先,直接删除这个容器:

然后在来看下,本地的文件还在不:

可以看到,我们创建的db_test,不会因为容器的删除而删除的!

可以看到,我们创建的db_test,不会因为容器的删除而删除的;

接下来,再创建一个mysql容器,然后将db_test 显示出来,然后使用命令,将mysql02中的db_test拷贝到mysql03中:

然后我们使用SQLlog连接新建的mysql容器:

但是,问题来了,问题1:提示没有权限,直接无法打开db_test;问题2:设置权限之后,打开这个数据库中的表,但是却提示错误码:1146table不存在!

这个地方有好大的一个坑,大家先自行进行思考,如果大家的关注量高的话,有留言关注的话,我会接着快快的抽时间出下一遍文章!

谢谢大家,辛苦了!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值