MongoDB的管理

来源:互联网 发布:数据库管理软件 编辑:程序博客网 时间:2024/05/29 15:05

1 启动项

 mongod  -help

2 通过conf文件来启动mongo

  mongod --config mongodb.conf

  mongodb.conf的文件内容

  dbpath=D:\MongoDBDATA2
  port=8888

 

3 停止mongodb

   1)如果服务器是前台进程运行在终端,ctrl+c可以关闭

   2) use admin

       db.shutdownServer()

 

4 导出数据(中断其他操作)

    mongoexport

   -d 指明使用的库

   -c导出的表

   -o导出的文件名

   -csv制定导出的csv的格式

   -q过滤导出

 


mongoexport -d foobar -c persons -o D:\MongoDB\person.csv

 

导出其他主机的数据库文档

mongoexport --host 192.168.0.16 --port 27017

 

2 导入数据(中断其他操作,导入数据的时候会隐式创建表结构)  mongoimport 

   导入到person文件

   mongoimport  --db foobar  --collection persons --file D:\MongoDB\person.csv

 

 

3 运行时备份(不会中断操作,但是会漏数据)

  mongodump

  mongodump --host 127.0.0.1:27017 -d foobar -o D:\MongoDB\foobar

 

导出后的文件:

 

 

 

 

4 运行时恢复,会将mongodump的输出数据插入到mongodb实例中(不会中断操作,但是会漏数据)

  mongorestore


mongorestore --host 127.0.0.1:27017 -d foobar -directoryperdb D:\MongoDB\foobar\foobar

 

5 fsync和锁

mongodump和mongorestore能不停机备份,但是却失去了获取实时数据试图的能力,

fsync会强制将缓冲区写入磁盘,还可以上锁阻止对数据库的行一步写入,直到释放锁为止。

上锁

use admin


db.runCommand({"fsync":1,"lock":1})

 

解锁

db.currentOp()

 

 

6 数据修复

  db.repairDatabase()

 

7 添加一个用户

   在admin数据库下建立一个账号是root,密码是123的用户

   use admin

   db.addUser("root","123")

 

 use foobar

db.addUser("foobar_user","123")

db.addUser("foobar_only_user","123",true) 

 

8安全检查--auth

  

9只有admin的用户才能用show dbs的列举所有数据库

    use foobar

   db.auth("foobar_user","123")

   show dbs

  会报错,如下图

 

  改为admin下root账号,则可以使用show dbs命令

   use  admin

   db.auth("root","123");

   show dbs

 

10 查找用户

     use  admin

    db.auth("root","123");

   db.system.users.find()

 

 

 

 

0 0
原创粉丝点击