使用容器数据卷部署MySQL实现数据持久化
步骤:
1、下载MySQL镜像文件
#查看是否存在mysql镜像在docker hub上
docker search mysql
[root@iZ2zee7khd9swlno7xr3hsZ study]# docker search mysql
NAME                              DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
mysql                             MySQL is a widely used, open-source relation…   11354     [OK]       
# 下载mysql镜像文件
docker pull mysql:5.7
[root@iZ2zee7khd9swlno7xr3hsZ study]# docker pull mysql:5.7
5.7: Pulling from library/mysql
e1acddbe380c: Pull complete 
bed879327370: Pull complete 
03285f80bafd: Pull complete 
ccc17412a00a: Pull complete 
1f556ecc09d1: Pull complete 
adc5528e468d: Pull complete 
1afc286d5d53: Pull complete 
4d2d9261e3ad: Pull complete 
ac609d7b31f8: Pull complete 
53ee1339bc3a: Pull complete 
b0c0a831a707: Pull complete 
Digest: sha256:7cf2e7d7ff876f93c8601406a5aa17484e6623875e64e7acc71432ad8e0a3d7e
Status: Downloaded newer image for mysql:5.7
docker.io/library/mysql:5.7
[root@iZ2zee7khd9swlno7xr3hsZ study]# ^C
分层下载
 
2、启动mysql
#命令 docker run -d -p 3306:3306 -v /root/wqp/mysql/conf:/etc/mysql/conf.d -v /root/wqp/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql01 mysql:5.7
#在这里我们需要注意MySQL是需要设置密码的,我们使用-e MYSQL_ROOT_PASSWORD=密码来进行设置MySQL的密码
--name来指定当前容器的名称
-v可以实现多个挂载
-d 后台运行
 
启动成功

我们去看一下我们的数据挂载上了没

我们看到我们的数据已经实现了挂载
现在我们使用navicat连接一下我们当前容器内启动的数据库

连接成功!我们在Navicat上操作添加一个数据库,我们看一下本地会发生什么变化
当前该mysql里的数据

添加一个数据库我们来测试一下

我们看一下云服务器本地的变化

前后对比,我们看到数据已经同步下来了
现在我们停掉该容器

容器停止,我们看一下本地数据

数据不变
我们将这个mysql容器删除以后看一下

已经删除
我们来看一下本地数据是否会发生改变

不会
这样我们,嗯就算把这个当前容器删除我们的数据也不会丢失
来看一下本地数据是否会发生改变
[外链图片转存中…(img-Mk3fmuBd-1644565537500)]
不会
这样我们,嗯就算把这个当前容器删除我们的数据也不会丢失










