docker MySQL数据持久化
Xy-Huang 人气:7环境配置
本地操作系统:Win10
虚拟机的操作系统:CentOS Stream 8
已安装docker,可以参考详细安装教程
MySQL数据持久化
在上一节中我们已实现docker启动多个MySQL服务,当误删docker之后,docker里面运行的数据将无法保存。为了能保存docker里面运行的数据,需要使用docker挂载功能,将docker里面的数据保存在系统的本地目录,即使删掉docker仍能保存之前的数据。
挂载MySQL实现数据持久化可以执行以下指令:
docker run --name mysql10 -p 3306:3306 -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=1234 -d mysql
指令参数说明:
- –name mysql10:docker容器名称。
- -p 3306:3306:本地系统与docker对接端口。
- -v /home/mysql/conf:/etc/mysql/conf.d:将docker的MySQL的配置文件/etc/mysql/conf.d挂载到本地的/home/mysql/conf文件夹。
- -v /home/mysql/data:/var/lib/mysql:将docker的MySQL的数据/var/lib/mysql挂载到本地的/home/mysql/data文件夹。
- -e MYSQL_ROOT_PASSWORD=1234是设置docker的MySQL的root用户密码。
- -d mysql:是镜像名称,如果没有规定MySQL版本,使用mysql默认安装最新版本,如果规定mysql版本,可以加上版本信息,如-d mysql5.7。
执行上述指令后,打开本地系统的就能看到文件夹信息,如图所示:
注意事项
如果在系统中开启多个docker的MySQL服务,挂载本地目录应不要相同,否则可能导致数据混乱。
当删除docker之后,只要挂载本地系统的文件数据还存在,开启新的docker并挂载原有的文件数据仍能找回之前被删除docker的数据记录。
加载全部内容