Docker下:mongodb数据库的备份与恢复
备份篇:
- 备份数据库名称:
ttd - 本地备份容器:
126bf65cd37f
1、进入容器:
docker ps # 查看正在运行的docker 容器 |
2、打包备份文件
tar -cvf /path/to/ttd.tar /path/to/backup/ # 将/path/to/backup/ 文件夹下的备份数据库 打包到 /path/to/ttd.tar |
3、复制备份打包文件到宿主机器
# 将备份的文件复制到宿主机 |
恢复篇:
- 恢复数据库名称:
ttd - 本地备份容器:
126bf65cd37f
1、上传压缩包到恢复的宿主机器
这里就不讲怎么恢复了! |
2、传入docker 机器(上传后的路径:/home/cdd/DataBases/ttd.tar)
mkdir /DBFiles # 创建路径,不然可能报错 |
3、解压缩
tar -xvf ttd.tar # 解压完成会出现一个新的文件夹:ttd |
4、恢复
- 避坑1:备份的文件夹中存在
.json文件,如果直接用文件夹恢复命令是会报错的 - 避坑2:必须要指定
--authenticationDatabase admin否则会提示权限
mongorestore -h 127.0.0.1:27017 --authenticationDatabase admin -u <username> -p <password> -d <database> /home/cdd/DataBases/ttd/Images.bson |