注册

批量备份还原导入与导出MongoDB数据方式

以下是关于“批量备份还原导入与导出MongoDB数据方式”的完整攻略。

一、备份MongoDB数据

1. 使用mongodump命令备份

mongodump是MongoDB自带的备份工具,使用它可以将MongoDB单个数据库或集合的数据备份到一个二进制文件中。

具体步骤如下:

  1. 打开命令行工具(如cmd或者终端),进入MongoDB的bin目录下;
  2. 执行以下命令备份指定数据库:
mongodump -h : -d  -u  -p  -o 

其中,各个参数的含义如下:

  • :MongoDB数据库运行的主机名或IP地址,若为本地则可以省略;
  • :MongoDB数据库运行的端口号,默认为27017;
  • :要备份的数据库名称;
  • :连接MongoDB数据库的用户名和密码,若数据库未设置用户名和密码则可以省略;
  • :备份文件存储的路径。

例如,备份名为test的数据库,指定用户名为admin,密码为123456,备份文件存放在C:\backup目录中的命令如下:

mongodump -d test -u admin -p 123456 -o C:\backup

命令执行成功后,备份的数据将会存储在C:\backup目录中。

2. 使用File System方式备份

MongoDB提供了File System方式备份,其基本思路是在备份前,将MongoDB的数据文件复制到另外一个目录,以实现备份的目的。具体步骤如下:

  1. 关闭MongoDB数据库服务;
  2. 将MongoDB数据目录拷贝到另一个目录。

例如,MongoDB数据存储的目录为/data/db,将其备份到/opt/backup目录的命令如下:

cp -r /data/db /opt/backup

二、还原MongoDB数据

1. 使用mongorestore命令还原

mongorestore是MongoDB自带的还原工具,使用它可以将备份的数据还原到MongoDB数据库中。

具体步骤如下:

  1. 打开命令行工具(如cmd或者终端),进入MongoDB的bin目录下;
  2. 执行以下命令还原备份文件:
mongorestore -h : -d  -u  -p  

其中,各个参数的含义如下:

  • :MongoDB数据库运行的主机名或IP地址,若为本地则可以省略;
  • :MongoDB数据库运行的端口号,默认为27017;
  • :要还原的数据库名称;
  • :连接MongoDB数据库的用户名和密码,若数据库未设置用户名和密码则可以省略;
  • :备份文件所在的路径。

例如,还原名为test的数据库备份文件,指定用户名为admin,密码为123456的命令如下:

mongorestore -d test -u admin -p 123456 C:\backup\test

命令执行成功后,备份的数据将会还原到名为test的数据库中。

2. 使用File System方式还原

File System方式还原MongoDB数据,其基本思路是将备份的数据文件拷贝到MongoDB数据目录下,覆盖原有的数据文件,以实现还原的目的。具体步骤如下:

  1. 关闭MongoDB数据库服务;
  2. 将备份数据目录中的所有文件复制到MongoDB数据目录中。

例如,MongoDB数据存储的目录为/data/db,将其覆盖还原备份数据的操作命令如下:

cp -r /opt/backup/db /data

三、导入导出MongoDB数据

1. 使用mongoexport命令导出

MongoDB提供了mongoexport命令,可以将MongoDB中的数据导出为JSON、CSV或TSV格式的文件。

具体步骤如下:

  1. 打开命令行工具(如cmd或者终端),进入MongoDB的bin目录下;
  2. 执行以下命令将数据导出为JSON文件:
mongoexport -h : -d  -c  -u  -p  -o  --jsonArray

其中,各个参数的含义如下:

  • :MongoDB数据库运行的主机名或IP地址,若为本地则可以省略;
  • :MongoDB数据库运行的端口号,默认为27017;
  • :要导出数据的数据库名称;
  • :要导出数据的集合名称;
  • :连接MongoDB数据库的用户名和密码,若数据库未设置用户名和密码则可以省略;
  • :导出数据的文件路径;
  • --jsonArray:导出数据为JSON数组格式。

例如,将名为test的数据库中名为users的集合的数据导出为JSON格式文件到C:\export目录下的命令如下:

mongoexport -d test -c users -o C:\export\users.json --jsonArray

导出完毕后,可在C:\export目录下找到导出的JSON文件。

2. 使用mongoimport命令导入

mongoimport命令可以将导出的JSON、CSV或TSV文件导入到MongoDB数据库的指定集合。

具体步骤如下:

  1. 打开命令行工具(如cmd或者终端),进入MongoDB的bin目录下;
  2. 执行以下命令将数据导入到MongoDB中:
mongoimport -h : -d  -c  -u  -p  --type  --file 

其中,各个参数的含义如下:

  • :MongoDB数据库运行的主机名或IP地址,若为本地则可以省略;
  • :MongoDB数据库运行的端口号,默认为27017;
  • :要导入数据的数据库名称;
  • :要导入数据的集合名称;
  • :连接MongoDB数据库的用户名和密码,若数据库未设置用户名和密码则可以省略;
  • :数据文件的类型,支持JSON、CSV和TSV;
  • :导入数据的文件路径。

例如,将名为test的数据库中名为users的集合的数据从C:\export\users.json文件中导入到MongoDB中的命令如下:

mongoimport -d test -c users --file C:\export\users.json --type json

导入完毕后,可在MongoDB中查询到导入的数据。