• 管理MongoDB相关操作命令


    1. 管理查看语句
    show dbs
    show collections;
    show users;
    use db
    获取当前库名
    db.getName()
    当前数据库状态
    db.stats()
    查看当前版本
    db.version()

    1.1 创建用户
    use bg_base
    db.createUser(
    {
    user:"devtymongo",
    pwd:"#############",
    roles:[{role:"readWrite",db:"bg_base"},{role:"dbAdmin",db:"bg_base"},{role:"userAdmin",db:"bg_base"},
    {role:"clusterAdmin",db:"admin"},{role:"clusterManager",db:"admin"},{role:"clusterMonitor",db:"admin"},
    { role: "dbOwner", db: "bg_base" }]
    })

    1.2.1 修改密码
    db.changeUserPassword('test','123')
    1.2.2 创建管理员账户
    db.createUser({user:'admin',pwd:'123',roles:[{role:'root',db:'admin'}]})
    1.2.3 创建普通管理员 可以连接多个库
    use admin
    db.createUser(
    {
    user: "admin",
    pwd: "#############",
    roles: [{role:"clusterAdmin",db:"admin"},{role:"clusterManager",db:"admin"},
    {role:"clusterMonitor",db:"admin"}, { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ]
    }
    )

    1.2.4 创建只读账户: 可以连接多个库
    use admin
    db.createUser(
    {
    user:"jsread",
    pwd:"###########",
    roles:[{role:"readAnyDatabase",db:"admin"}]
    })

    1.2.5 验证用户
    db.auth('user','pwd')
    1.2.6 显示当前所有用户
    show users()
    1.2.7 删除用户
    db.dropUser('test_user')

    2. 数据库导入和导出
    2.1 mongo导出:
    mongodump -h 127.0.0.1:26060 -d bc -u admin -p '########' --authenticationDatabase=admin -o /data/mongobak
    2.2 mongo导入:
    mongorestore -u yctymongo -p '###########' --host 127.0.0.1 --port 26060 --authenticationDatabase=admin -d bc /data/mongobak/bc


    3. 慢日志分析
    mloginfo mongod_20200619.log --queries --sort count

    2. 副本集管理
    2.1 配置副本集
    use admin
    config = {_id: 'my_repl', members: [ {_id: 0, host: '10.5.22.40:26060'}, {_id: 1, host: '10.5.22.41:26060'}, {_id: 2, host: '10.5.22.42:26060'}] }
    rs.initiate(config)
    rs.status
    rs.slaveOk()

    2.2 管理节点
    rs.remove("ip:port")
    rs.add("ip:port")
    rs.add({host: "10.5.11.17:26060", priority: 0, hidden: true})
    cfg=rs.conf() /*找到需要改为延迟性同步的数组号*/;
    设置优先级,0为不参加选举
    cfg.members[1].priority=0
    设置同步延时
    cfg.members[1].slaveDelay=120
    对外隐藏节点
    cfg.members[1].hidden=false
    重写配置文件
    rs.reconfig(cfg)

    2.3 查看副本节点,可以监控主从延时
    ty88:PRIMARY> rs.printSlaveReplicationInfo()
    source: 10.5.11.19:26060
    syncedTo: Thu Jul 16 2020 14:09:51 GMT+0800 (CST)
    0 secs (0 hrs) behind the primary
    source: 10.5.11.20:26060
    syncedTo: Thu Jul 16 2020 14:09:51 GMT+0800 (CST)
    0 secs (0 hrs) behind the primary
    source: 10.5.22.40:26060
    syncedTo: Thu Jan 01 1970 08:00:00 GMT+0800 (CST)
    1594879791 secs (443022.16 hrs) behind the primary

    2.4 查看副本集状态
    rs.status()

    2.5 查看副本集的oplog的状态
    ty88:PRIMARY> rs.printReplicationInfo()
    configured oplog size: 51200MB
    log length start to end: 302285secs (83.97hrs)
    oplog first event time: Mon Jul 13 2020 02:10:54 GMT+0800 (CST)
    oplog last event time: Thu Jul 16 2020 14:08:59 GMT+0800 (CST)
    now: Thu Jul 16 2020 14:08:59 GMT+0800 (CST)

    2.5 对集合进行压缩,主要是解决删除数据不释放的问题
    db.runCommand({ compact : 'sr_live_eventStatisticsInfo_uof',force: true});

    2.6 mtools
    mloginfo
    mloginfo令是一个用于做日志信息统计的工具。

    连接数
    # mloginfo mongod.log-20180531-2.211-gbk --connections

    事件统计

    # mloginfo mongod.log-20180531-2.211-gbk --distinct

    重启信息

    # mloginfo mongod.log-20180531-2.211-gbk --restart

    副本集切换

    # mloginfo mongod.log-20180531-2.211-gbk --rsstate

    查询次数

    # mloginfo mongod.log-20180531-2.211-gbk --queries --sort count

    查看超过10s的慢操作

    # mlogfilter mongod.log-20180531-2.211-gbk --slow 10000 --shorten 200

    查看超过10s的慢操作

    # mlogfilter mongod.log-20180531-2.211-gbk --slow 10000 --shorten 200

    查看慢扫描操作
    慢扫描是指该操作需要扫描过多的记录(超过1w行),且返回数量不足扫描数量的1/100,这样的操作通常对CPU消耗很高,也比较低效

    # mlogfilter mongod.log-20180531-2.211-gbk --scan --shorten 200

    根据名称空间过滤

    # mlogfilter mongod.log-20180531-2.211-gbk --namespace dmspace.DeviceInfo

    根据操作类型过滤

    # mlogfilter mongod.log-20180531-2.211-gbk --operation update


    2.7 更改oplog大小
    2.7.1 查看当前oplog大小
    use local
    db.oplog.rs.stats().maxSize
    2.7.2 更改oplog大小设置,更改即生效。单位为M
    db.adminCommand({replSetResizeOplog:1, size: 100000})

  • 相关阅读:
    Elasticsearch 分词
    Elasticsearch:文档乐观锁控制 if_seq_no与if_primary_term
    调用javaAPI访问hive
    sqoop笔记
    hive学习
    添加用户到sudo组
    HTTP协议用的TCP但是只建立单向连接
    Hadoop基本操作
    Hadoop原理介绍
    sed用法
  • 原文地址:https://www.cnblogs.com/abner123/p/16275476.html
Copyright © 2020-2023  润新知