前言:有一次,公司让修改数据的时候把容器里配置瞎弄了一番,结果容器进不去了,一气之下就给用命令 rm -r 强制删除并重新创建了一个容器,删除之后突然懵了,这是mysql的容器,没有做备份数据,再进去一看之前的数据全都没了,顿时吓出一身冷汗!!!!我赶紧把前天晚上备份的数据恢复了进去(数据每天晚上自动备份,但不是实时备份),但是丢失当天的数据影响也非常大,想我是不是要准备跑路了?最后我折腾了几个小时居然找回了数据,还好有惊无险,接下来是找回数据的步骤:
第一步:
查看容器的信息
docker inspect mysql001(这里换成你的容器名称),找到挂载本地路径这里,然后复制
第二步:
进入该路径
cd /var/lib/docker/volumes/
然后 ll命令看一下,可以通过时间看到之前创建那个容器是72c6fe3f4ce92c4767ff9e36f89c8e1c2d6e06e2b107cb24ca8990d0da93de30
第三步:
进入72c6fe3f4ce92c4767ff9e36f89c8e1c2d6e06e2b107cb24ca8990d0da93de30/_data目录
cd 72c6fe3f4ce92c4767ff9e36f89c8e1c2d6e06e2b107cb24ca8990d0da93de30/_data
可以看到你的数据库保存的文件都在这里了,然后找到你的数据库进入,就可以看到之前的数据.ibd和.frm数据文件了
第四步:
通过.ibd和.frm恢复数据,这里我参考的文章是:https://www.cnblogs.com/aeolian/p/10138334.html
文章评论