• MongoDB的管理


    1. 启动和停止MongoDB;

    2. 访问控制;

    3. 命令行操作;

    4. 进程控制;

    5. MongoDB的监控;

    6. MongoDB数据的导入、导出;

    7. MongoDB备份、还原。

    1. MongoDB Server以服务方式延迟启动,手动停止即可。

    2

    在下面的流程中,首先在尚未开启访问权限控制的MongoDB实例中添加一个用户管理员账号,然后再开启访问权限控制。
    1.启动MongoDB服务(禁用访问权限控制)
    mongod --port27017--dbpath /data/db1


    2.连接至MongoDB实例
    mongo --port 27017

    3.添加管理员账号
    use admin
    db.createUser({user: "myUserAdmin", pwd: "abc123", roles: [{role: "userAdminAnyDatabase", db: "admin"}]})

    4.重启MongoDB实例,并启用访问权限控制
    mongod --auth --port27017--dbpath /data/db1

    5.连接至MongoDB实例
    mongo --port27017
    切换至admin库,并登陆
    use admin
    db.auth("myUserAdmin","abc123")

    6.添加普通用户账号
    use test
    db.createUser({user: "myTester", pwd: "xyz123", roles: [{role: "readWrite", db: "test"}, {role: "read", db: "reporting"}]})

    7.使用普通用户账号登陆

    mongo --port27017
    use test
    db.auth("myTester","xyz123")

    5

    MongoDB 监控

    在你已经安装部署并允许MongoDB服务后,你必须要了解MongoDB的运行情况,并查看MongoDB的性能。这样在大流量得情况下可以很好的应对并保证MongoDB正常运作。

    MongoDB中提供了mongostat 和 mongotop 两个命令来监控MongoDB的运行情况。

    mongostat 命令

    mongostat是mongodb自带的状态检测工具,在命令行下使用。它会间隔固定时间获取mongodb的当前运行状态,并输出。如果你发现数据库突然变慢或者有其他问题的话,你第一手的操作就考虑采用mongostat来查看mongo的状态。

    启动你的Mongod服务,进入到你安装的MongoDB目录下的bin目录, 然后输入mongostat命令,如下所示:

    D:set upmongodbin>mongostat

    以上命令输出结果如下:

    mongotop 命令

    mongotop也是mongodb下的一个内置工具,mongotop提供了一个方法,用来跟踪一个MongoDB的实例,查看哪些大量的时间花费在读取和写入数据。 mongotop提供每个集合的水平的统计数据。默认情况下,mongotop返回值的每一秒。

    启动你的Mongod服务,进入到你安装的MongoDB目录下的bin目录, 然后输入mongotop命令,如下所

    C:Users exxt>mongotop

     

     

    带参数实例:

    C:Users exxt>mongotop 10

     

    后面的10是<sleeptime>参数 ,可以不使用,等待的时间长度,以秒为单位,mongotop等待调用之间。通过的默认mongotop返回数据的每一秒。

    Mongo --locks

    报告每个数据库的锁的使用中,使用mongotop - 锁,这将产生以下输出:

     

    输出结果字段说明:

    ns:

    包含数据库命名空间,后者结合了数据库名称和集合。

    db:

    包含数据库的名称。名为 . 的数据库针对全局锁定,而非特定数据库。

    total:

    mongod花费的时间工作在这个命名空间提供总额。

    read:

    提供了大量的时间,这mongod花费在执行读操作,在此命名空间。

    write:

    提供这个命名空间进行写操作,这mongod花了大量的时间。

    1. MongoDB数据的导入、导出;

     

    导出数据 语法

     

    mongoexport

    -d 指明使用的库

    -c 指明要导出的集合

    -o 指明要导出的文件名

    -csv 制定导出的csv格式

    -q 过滤导出

    --type<json|csv|tsv>

     

    a.把数据库mydb中的student导出  --备份

    mongoexport -d mydb -c student -o f:astudent.json 或者

    mongoexport --db mydb --collection student --out d:astudent1.json

     

    b.删除test数据库中的student

    db.student.drop()

     

    c.导入数据(中断其他操作)    --恢复

     

    mongoimport --db mydb --collection student --file d:astudent1.json 或者

    mongoimport -d mydb -c student --file f:astudent.json

     

    mongo

    use mydb

    show collections

    db.student.find()

    db.student.count()

     

     

     

     

    7. MongoDB备份、还原。

    运行时备份  --像热备  整库备份

    a.导出数据库

    mongodump --host 127.0.0.1:27017 -d mydb -o d:a

    b.删除整个数据库

    mongo

    use mydb

    db

    db.dropDatabase()

    c.运行时恢复

    mongorestore --host 127.0.0.1:27017 -d mydb d:amydb

    show dbs

    use mydb

    show collections

    db.student.find()

    3.懒人备份  --mongodb服务关闭后

    mongoDB是文件数据库这其实就可以用拷贝文件的方式进行备份

  • 相关阅读:
    s2-032批量脚本
    javascript 1
    threading模块和queue模块实现程序并发功能和消息队列
    Python标准库06 子进程 (subprocess包)
    常用服务对应的正则
    re
    requests
    198. 打家劫舍
    746. 使用最小花费爬楼梯
    70. 爬楼梯
  • 原文地址:https://www.cnblogs.com/mzc1997/p/9200551.html
Copyright © 2020-2023  润新知