一、先去检查mongodump
mongodump --version
如果报 mongodump version: built-without-version-string 或者其他的较老的版本,直接去下载最新的【传送门】
【以Ubuntu18.04为例】
-
安装工具
假设你下载的是
.tgz
文件(适用于 Linux 系统),你可以按照以下步骤安装:tar -xzf mongodb-database-tools-ubuntu1804-x86_64-100.5.0.tgz sudo cp mongodb-database-tools-100.5.0/bin/* /usr/local/bin/
如果你下载的是
.deb
文件(适用于 Debian/Ubuntu 系统),可以使用dpkg
安装:sudo dpkg -i mongodb-database-tools-ubuntu2004-x86_64-100.5.0.deb
确保将
mongodb-database-tools-ubuntu2004-x86_64-100.5.0.deb
替换为你实际下载的文件名。 -
验证安装
安装完成后,验证
mongodump
工具的版本:mongodump --version
确保工具版本与你的 MongoDB 服务器版本兼容。
二、导出
查看数据库列表
mongo --eval "db.adminCommand('listDatabases')"
导出所有数据库 /path/to/backup 目标文件夹
mongodump --out /path/to/backup
如果有少的,单独针对没有导出的数据库进行导出,如admin数据库没有被导出
mongodump --db admin --out /path/to/backup
全部导出完再把整个文件夹传输到目标服务器
三、导入
恢复所有数据库
使用 mongorestore 可以将之前使用 mongodump 导出的数据恢复到 MongoDB 实例中。
基本语法
mongorestore --dir <input directory>
示例
mongorestore --dir /path/to/backup
这个命令会将 /path/to/backup 目录中的所有数据库恢复到本地 MongoDB 实例中。
导出和导入指定数据库
如果你只想导出和导入特定的数据库,可以在命令中指定数据库名称。
导出指定数据库
mongodump --db <database name> --out <output directory>
示例
mongodump --db mydatabase --out /path/to/backup
恢复指定数据库
mongorestore --db <database name> --dir <input directory>/<database name>
示例
mongorestore --db mydatabase --dir /path/to/backup/mydatabase