mongodb数据库同样离不开必要的维护,如备份、恢复、导入、导出。
其实备份和恢复比导入和导出要方便些,而且一般不会出错,所以大部分时候使用备份和恢复操作就可以了
1. 备份Mongodb
mongodump -h test.xxxx.com:52000 -d dataname -o /home/aa/dev/mongodb/data
mongodump mongo导出数据库命令 mongodump --help 可以查看该命令下所有的帮助
-h 导出源
-d 要导出的数据库名称
-o 数据库要导出的位置
在终端滚过N行之后,数据库导出完成,可以去/home/aa/dev/mongodb/data 目录下查看导出的文件,bson格式的(我导出后没有马上就看到文件,等了一会才出现的,原因不明)
2. 恢复使用:mongorestore 命令
mongorestore -d cmsdev /home/xx/dev/mongodb/data/cmsdev
-d 使用的数据库名称
后面直接加你刚才导出的目录,这样是直接恢复所有表
如果-c 是恢复一个表
3. 导入
mongoimport -d my_mongodb -c user user.dat
参数说明:
-d 指明使用的库, 本例中为” my_mongodb”
-c 指明要导出的表, 本例中为”user”
可以看到导入数据的时候会隐式创建表结构
4. 导出
mongoexport -d my_mongodb -c user -o user.dat
参数说明:
-d 指明使用的库, 本例中为” my_mongodb”
-c 指明要导出的表, 本例中为”user”
-o 指明要导出的文件名, 本例中为”user.dat”
从上面可以看到导出的方式使用的是JSON 的样式
修复mongodb数据库
当mongodb发生问题时,就要修复其数据库,比如遇到以下的信息:
**************
old lock file: \data\db\mongod.lock. probably means unclean shutdown
recommend removing fileand running --repair
see: http://dochub.mongodb.org/core/repair for more information
*************
Mon May 0912:37:43[initandlisten] exception in initAndListen std::exception: old lock file,
terminating
Mon May 0912:37:43 dbexit:
Mon May 0912:37:43[initandlisten]shutdown: going toclose listening sockets...
Mon May 0912:37:43[initandlisten]shutdown: going to flush diaglog...
Mon May 0912:37:43[initandlisten]shutdown: going toclose sockets...
Mon May 0912:37:43[initandlisten]shutdown: waiting for fs preallocator...
Mon May 0912:37:43[initandlisten]shutdown: closing all files...
Mon May 0912:37:43 closeAllFiles() finished
Mon May 0912:37:43 dbexit: really exiting now
那么这个时候,可以采用如下方法去修复它:
找到\data\db\mongod.lock这个文件,删除它
采用mongod –repair命令进行修复
Mon May 0912:42:57[initandlisten] db version v1.8.1, pdfile version 4.5
//......
Mon May 0912:42:57[initandlisten]shutdown: going toclose listening sockets...
Mon May 0912:42:57[initandlisten]shutdown: going to flush diaglog...
Mon May 0912:42:57[initandlisten]shutdown: going toclose sockets...
Mon May 0912:42:57[initandlisten]shutdown: waiting for fs preallocator...
Mon May 0912:42:57[initandlisten]shutdown: closing all files...
Mon May 0912:42:57 closeAllFiles() finished
Mon May 0912:42:57[initandlisten]shutdown: removing fs lock...
Mon May 0912:42:57 dbexit: really exiting now
相关文章:
MongoDB基本操作指南
NoSQL数据库
MongoDB集群
MongoDB数据库
MongoDB备份与恢复
8种NoSQL数据库对比
配置mongodb分片群集(sharding cluster)
记一次MongoDB性能问题,附原理解析
mongodb之insert和save函数的区别
mongodb shell无法删除问题 与 secureCRT使用退格键出现^H解决办法
Mongodb源码分析之Mongos分析
PHP操作MongoDB
来源:互联网