• mongoDB 基本命令


    http://space.itpub.net/?uid-20498361-action-viewspace-itemid-7194911, 超级用户相关

    #进入数据库admin
    use admin
    #增加或修改用户密码
    db.addUser('name','pwd')
    #查看用户列表
    db.system.users.find()
    #用户认证
    db.auth('name','pwd')
    #删除用户
    db.removeUser('name')
    #查看所有用户
    show users
    #查看所有数据库
    show dbs
    #查看所有的collection
    show collections
    #查看各collection的状态
    db.printCollectionStats()
    #查看主从复制状态
    db.printReplicationInfo()
    #修复数据库
    db.repairDatabase()
    #设置记录profiling,0=off 1=slow 2=all
    db.setProfilingLevel(1)
    #查看profiling
    show profile
    #拷贝数据库
    db.copyDatabase('mail_addr','mail_addr_tmp')
    #删除collection
    db.mail_addr.drop()
    #删除当前的数据库
    db.dropDatabase()



    2, 增删改
    #存储嵌套的对象
    db.foo.save({'name':'ysz','address':{'city':'beijing','post':100096},'phone':[138,139]})
    #存储数组对象
    db.user_addr.save({'Uid':'yushunzhi@sohu.com','Al':['test-1@sohu.com','test-2@sohu.com']})
    #根据query条件修改,如果不存在则插入,允许修改多条记录
    db.foo.update({'yy':5},{'$set':{'xx':2}},upsert=true,multi=true)
    #删除yy=5的记录
    db.foo.remove({'yy':5})
    #删除所有的记录
    db.foo.remove()

    5, 管理
    #查看collection数据的大小
    db.deliver_status.dataSize()
    #查看colleciont状态
    db.deliver_status.stats()
    #查询所有索引的大小
    db.deliver_status.totalIndexSize()

    #启动

    ./mongod     #从命令行,mongod --help可以获取该命令的帮助

    #配置(配置文件)

    ./mongod --config ~/.mongodb.conf   #使用配置文件

    #停止数据库

    (1)若在前台就直接用:Ctrl+c

    (2)若知道进程号,直接用kill -2 pid    #注意千万不要用kill -9,可能导致数据库数据不一致

    (3)使用命令:db.shutdownServer()

    # 监控

    .使用web页面

    mongodb在启动时会启动一个http服务,直接用http://ip:28017就可以看到状态

    .通过命令开查看

    db.runCommand({"serverStatus" : 1})

    .通过外部进程

    mongostat

    .通过第三方插件

    如cacti,nagios等系统

    #查看数据库状态
    (1) db.runCommand({"serverStatus":1})
    (2) $MONGO_HOME/bin/mongostat

    6,数据库备份

    有4种方法备份数据库
    (1) 关闭mongod服务后,复制--dbpath参数指定的数据文件。优点速度快,缺点需要停止mongo服务。
    (2) 使用mongodump 导出数据,并用mongorestore 导入数据。优点不需要停止mongo服务,缺点在mongodump操作时用户插入的数据可能无法备份出来。
    (3) fsync and lock锁定数据库的让用户只能使用read功能,再使用方法b导出并导入数据。优点不需要停止mongo服务,缺点在数据库lock期间用户无法执行insert操作。
    (4) 使用slaveDB并且 使用方法c锁定slaveDB,再使用方法b导出并导入数据。优点不需要停止mongo服务,不会影响用户insert操作(推荐使用此方法)。

    7,数据库修护

    当数据库文件遭到损坏的时候有3种方法修复数据文件
    (1) MONGO_HOME/bin/mongod --repair
    (2) use test
        db.repairDatabase()
    (3) db.runCommand({"repairDatabase":1});

    8,查看文档命令

    db.<coll>.find()

    db.<coll>.findOne()

    具体方法可以查看帮助:db.<集合名>.help()

    9,如何查看命令的帮助

    .打印所有命令列表

    db.listCommands()

    .显示某个命令的说明

    db.commandHelp("isMaster")  //查看isMaster这个命令的说明
  • 相关阅读:
    Ansible 实战之部署Web架构
    Ansible Ad-Hoc命令集
    Ansible 基础知识
    memcached监控脚本
    Django2.1.1与xadmin0.6.0遇到的坑(一)
    django1.11 启动错误:Generator expression must be parenthesized
    使用Git Bash从Git上下载代码到本地以及上传代码到码云Git
    PyCharm如何导入python项目,并配置虚拟环境
    PYTHON中的字典(DICT),列表(LIST),元组(TUPLE)
    python2 和 python3共存的常见使用(如安装虚拟环境的问题)
  • 原文地址:https://www.cnblogs.com/svennee/p/4080829.html
Copyright © 2020-2023  润新知