docker安装mysql,备份原有数据,数据持久化

之前用docker安装mysql,发现目录没挂载上,所以重启docker后数据会丢失,所以记录下怎么解决上述问题。
1.首先进入容器备份现有数据

docker exec -it 容器名 /bin/bash

备份数据(原先挂载了home下的all.sql,所以宿主机的all.sql也会变,如果过没有挂载,自己从容器内复制出也是一样的)

mysqldump -u root -p --all-databases >/home/all.sql

2.停止并且删除现有容器 docker stop和docker rm
3.新建/data目录

mkdir /data/mysql/data3307
mkdir /data/mysql/mysql.config.d3307

4.新建并启动容器
之前已经pull到了mysql的镜像,所以省略拉取镜像,直接启动

docker run --name config_mysql  -v /data/mysql/data3307:/var/lib/mysql -v /data/mysql/mysql.conf.d3307/mysqld.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf -v /home/all.sql:/home/all.sql -e MYSQL_ROOT_PASSWORD=123456 -e TZ=Asia/Shanghai -d -i -p 3307:3306 mysql:latest

挂载目录为刚刚新建的两个目录,设置初始密码123456.映射端口为3307
5.恢复数据
容器启动完成后进入容器恢复数据

docker exec -it config_mysql /bin/bash
mysql -u root -p </home/all.sql
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值