docker之MySQL同步数据

实验的过程分为4步:

  1. 获取mysql镜像
  2. 运行一个mysql容器
  3. 测试连接mysql
  4. 验证


第一步先获取镜像,版本选择了MySQL5.7

[root@localhost ~]# docker pull mysql:5.7
[root@localhost ~]# docker images |grep  mysql
mysql                 5.7       c20987f18b13   2 months ago    448MB

第二步运行MySQL容器

[root@localhost ~]# docker run -d -p 3306:3306  -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql01 mysql:5.7
a2e753a4c01a3992e24f08098ca16ebf0ecce01279c88976ce8ad43b5ac0a987

参数作用:
-d 后台运行
-p 3306:3306 将主机的3306端口与容器的3306端口映射
-v /home/mysql/conf:/etc/mysql/conf.d 主机的/home/mysql/conf目录挂载到MySQL容器的配置文件目录,方便修改
-v /home/mysql/data:/var/lib/mysql /home/mysql/data目录挂载到MySQL容器的数据库文件目录,防止容器删除导致数据丢失
-e MYSQL_ROOT_PASSWORD=123456 设置数据库的密码
–name 为容器取名

测试连接MySQL
启动成功后,使用Navicat测试连接
在这里插入图片描述

进行验证

我们先来看看我们挂载的/home/mysql目录,可以看到有我们挂载的conf和data两个目录

[root@localhost mysql]# pwd
/home/mysql
[root@localhost mysql]# ls
conf  data

进入data目录看一下,可以看到mysql容器/var/lib/mysql下的文件

[root@localhost mysql]# cd data/
[root@localhost data]# ls
auto.cnf    ca.pem           client-key.pem  ibdata1      ib_logfile1  mysql               private_key.pem  server-cert.pem  sys
ca-key.pem  client-cert.pem  ib_buffer_pool  ib_logfile0  ibtmp1       performance_schema  public_key.pem   server-key.pem

我们在数据库里面创建一个test
在这里插入图片描述
在这里插入图片描述
然后我们到挂载的/home/mysql/data目录下看test会不会出现
在这里插入图片描述
test出现,同步成功

然后我们删除掉这个mysql容器,看看/home/mysql/data下的数据还会不会存在
先查看一下正在运行的所有容器
在这里插入图片描述
删除mysql容器
在这里插入图片描述
删除后再查看正在运行的容器,mysql被删除
在这里插入图片描述

mysql已经删除,我们再来看/home/mysql/data目录
在这里插入图片描述

数据依然存在,实验完成

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值