使用容器数据卷部署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)]
不会
这样我们,嗯就算把这个当前容器删除我们的数据也不会丢失