以下是关于“批量备份还原导入与导出MongoDB数据方式”的完整攻略。
一、备份MongoDB数据
1. 使用mongodump命令备份
mongodump是MongoDB自带的备份工具,使用它可以将MongoDB单个数据库或集合的数据备份到一个二进制文件中。
具体步骤如下:
- 打开命令行工具(如cmd或者终端),进入MongoDB的bin目录下;
- 执行以下命令备份指定数据库:
mongodump -h <hostname>:<port> -d <database_name> -u <username> -p <password> -o <backup_directory>
其中,各个参数的含义如下:
<hostname>
:MongoDB数据库运行的主机名或IP地址,若为本地则可以省略;<port>
:MongoDB数据库运行的端口号,默认为27017;<database_name>
:要备份的数据库名称;<username>
和<password>
:连接MongoDB数据库的用户名和密码,若数据库未设置用户名和密码则可以省略;<backup_directory>
:备份文件存储的路径。
例如,备份名为test的数据库,指定用户名为admin,密码为123456,备份文件存放在C:\backup目录中的命令如下:
mongodump -d test -u admin -p 123456 -o C:\backup
命令执行成功后,备份的数据将会存储在C:\backup目录中。
2. 使用File System方式备份
MongoDB提供了File System方式备份,其基本思路是在备份前,将MongoDB的数据文件复制到另外一个目录,以实现备份的目的。具体步骤如下:
- 关闭MongoDB数据库服务;
- 将MongoDB数据目录拷贝到另一个目录。
例如,MongoDB数据存储的目录为/data/db,将其备份到/opt/backup目录的命令如下:
cp -r /data/db /opt/backup
二、还原MongoDB数据
1. 使用mongorestore命令还原
mongorestore是MongoDB自带的还原工具,使用它可以将备份的数据还原到MongoDB数据库中。
具体步骤如下:
- 打开命令行工具(如cmd或者终端),进入MongoDB的bin目录下;
- 执行以下命令还原备份文件:
mongorestore -h <hostname>:<port> -d <database_name> -u <username> -p <password> <backup_directory>
其中,各个参数的含义如下:
<hostname>
:MongoDB数据库运行的主机名或IP地址,若为本地则可以省略;<port>
:MongoDB数据库运行的端口号,默认为27017;<database_name>
:要还原的数据库名称;<username>
和<password>
:连接MongoDB数据库的用户名和密码,若数据库未设置用户名和密码则可以省略;<backup_directory>
:备份文件所在的路径。
例如,还原名为test的数据库备份文件,指定用户名为admin,密码为123456的命令如下:
mongorestore -d test -u admin -p 123456 C:\backup\test
命令执行成功后,备份的数据将会还原到名为test的数据库中。
2. 使用File System方式还原
File System方式还原MongoDB数据,其基本思路是将备份的数据文件拷贝到MongoDB数据目录下,覆盖原有的数据文件,以实现还原的目的。具体步骤如下:
- 关闭MongoDB数据库服务;
- 将备份数据目录中的所有文件复制到MongoDB数据目录中。
例如,MongoDB数据存储的目录为/data/db,将其覆盖还原备份数据的操作命令如下:
cp -r /opt/backup/db /data
三、导入导出MongoDB数据
1. 使用mongoexport命令导出
MongoDB提供了mongoexport命令,可以将MongoDB中的数据导出为JSON、CSV或TSV格式的文件。
具体步骤如下:
- 打开命令行工具(如cmd或者终端),进入MongoDB的bin目录下;
- 执行以下命令将数据导出为JSON文件:
mongoexport -h <hostname>:<port> -d <database_name> -c <collection_name> -u <username> -p <password> -o <output_file> --jsonArray
其中,各个参数的含义如下:
<hostname>
:MongoDB数据库运行的主机名或IP地址,若为本地则可以省略;<port>
:MongoDB数据库运行的端口号,默认为27017;<database_name>
:要导出数据的数据库名称;<collection_name>
:要导出数据的集合名称;<username>
和<password>
:连接MongoDB数据库的用户名和密码,若数据库未设置用户名和密码则可以省略;<output_file>
:导出数据的文件路径;--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数据库的指定集合。
具体步骤如下:
- 打开命令行工具(如cmd或者终端),进入MongoDB的bin目录下;
- 执行以下命令将数据导入到MongoDB中:
mongoimport -h <hostname>:<port> -d <database_name> -c <collection_name> -u <username> -p <password> --type <data_file_type> --file <input_file>
其中,各个参数的含义如下:
<hostname>
:MongoDB数据库运行的主机名或IP地址,若为本地则可以省略;<port>
:MongoDB数据库运行的端口号,默认为27017;<database_name>
:要导入数据的数据库名称;<collection_name>
:要导入数据的集合名称;<username>
和<password>
:连接MongoDB数据库的用户名和密码,若数据库未设置用户名和密码则可以省略;<data_file_type>
:数据文件的类型,支持JSON、CSV和TSV;<input_file>
:导入数据的文件路径。
例如,将名为test的数据库中名为users的集合的数据从C:\export\users.json文件中导入到MongoDB中的命令如下:
mongoimport -d test -c users --file C:\export\users.json --type json
导入完毕后,可在MongoDB中查询到导入的数据。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:批量备份还原导入与导出MongoDB数据方式 - Python技术站