持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第17天,点击查看活动详情
在实际开发中我们应该学会对 MongoDB 中的数据进行备份,这样在发生数据丢失事件时可以不必惊慌失措,只用将备份的数据进行恢复即可。接下来我们就一起来学习 MongoDB 中数据的备份与恢复~ 😊
mongodump 进行数据备份
我们都知道在 MySQL 数据库中可以进行数据的备份与恢复,同样在 MongoDB 也支持数据的备份与恢复。MongoDB 中备份与恢复的命令有两组,分别是:
mongodump/mongorestoremongoexport/mongoimport
他们是成对出现的。
➡️ mongodump 备份的语法
-
mongodump命令基本语法如下所示 👇:mongodump -h dbhost -d dbname -o dbdirectory -
可以使用的参数如下表所示
参数 说明 -h 指明 MongoDB 服务器所在的地址。 -u 指明数据库的用户名。 -p 指明数据库的密码。 -d 指明数据库的名字。 -c 指明集合的名字。 -o 指明备份的数据存放的位置。 -q 指明备份数据的过滤条件。 --authenticationDatabase 验证数据的名称。 --gzip 备份时压缩。 MongoDB 服务器中所有的数据库进行备份。
mongodump -h 127.0.0.1:27017 -o /home/project
✨ 说明:这里不使用
-d参数指定具体的数据库。这里大家要注意, MongoDB 自带的local和config数据库不会进行备份,其余数据库都会备份。
mongorestore 进行数据恢复
mongorestore 恢复的语法
-
mongorestore命令基本语法如下所示 👇:mongorestore -h <hostname><:port> -d dbname <path> -
可以使用的参数如下表所示 👇:
参数 说明 -h 指明 MongoDB 服务器所在的地址。 -u 指明数据库的用户名。 -p 指明数据库的密码。 -d 指明数据库的名字。 -c 指明集合的名字。 -o(参数需要省略,只需要值,即 指明到备份的具体存放数据的文件。 --authenticationDatabase 验证数据的名称。 --drop 恢复的时候把之前的集合删除。
mongoexport 进行数据导出
MongoDB 中的 mongoexport 命令可以把一个集合中的导出成 JSON 格式或 CSV 格式的文件。接下来我们来学习如何使用 mongoexport 将集合中的数据进行导出。
➡️ mongoexport 导出的语法
-
mongoexport命令基本语法如下所示 👇:mongoexport -h dbhost -d dbname -c collection -o dbdirectory -
可以使用的参数如下表所示 👇:
参数 说明 -h 指明 MongoDB 服务器所在的地址。 -u 指明数据库的用户名。 -p 指明数据库的密码。 -d 指明数据库的名字。 -c 指明集合的名字。 -f 指明要导出哪些列。 -o 指明到要导出的文件名。 -q 指明导出数据的过滤条件。 --type 指定文件类型。 --authenticationDatabase 验证数据的名称。
mongoimport 进行数据导入
mongoimport 导入的语法
-
mongoimport命令基本语法如下所示 👇:mongoimport -h <hostname><:port> -d dbname -c collection <path> -
可以使用的参数如下表所示 👇:
参数 说明 -h 指明 MongoDB 服务器所在的地址。 -u 指明数据库的用户名。 -p 指明数据库的密码。 -d 指明数据库的名字。 -c 指明集合的名字。 --drop 导入数据之前先删除原有的。 --headerline 指明第一行是列名,不需要导入。 --file 指定要导入的文件名。 -j 同时运行的插入操作数(默认为 1),并行操作。 --authenticationDatabase 验证数据的名称。