Mongodb日常运维操作命令

本文源链接地址:https:www.93bok.com

一、启动和终止

1、正常启动
systemctl start mongodb
2、以修复模式启动
mongod -f /etc/mongodb/mongodb.conf
3、停止修复模式
> use admin
> db.shutdownServer()
4、关闭mongodb服务
systemctl stop mongodb

二、登录和退出

1、登录

mongo 命令直接加MongoDB服务器的IP地址就可以利用 Mongo 的默认端口号(27017)登陆 Mongo,然后便能够进行简单的命令行操作

如果默认bind绑定的ip是127.0.0.1以及端口号是27017,那么登录可以直接用下面两种方式都可以:
1)mongo
2)mongo 127.0.0.1:27017
如果绑定了固定的ip地址,如bing_ip=192.168.10.100,那么连接mongodb命令为:
mongo 192.168.10.100:27017
如果是连接某个库,命令是:
mongo ip:port/库名 -u用户名 -p密码
2、退出

直接输入exit,然后回车就好了

三、安全管理

1、以安全认证模式启动
mongod --auth -f /etc/mongodb/mongodb.conf

或者也可以修改配置文件,设置auth=true,重启mongodb进程即可

2、添加用户
> db.createUser({user:"nongkaige",pwd:"[email protected]",roles:["readWrite","dbAdmin"]})
Successfully added user: { "user" : "nongkaige", "roles" : [ "readWrite", "dbAdmin" ] }
3、数据库认证、安全模式
> db.auth("nongkaige","[email protected]")
1
4、显示当前所有用户
> show users
{
    "_id" : "nongkaige.nongkaige",
    "user" : "nongkaige",
    "db" : "nongkaige",
    "roles" : [
        {
            "role" : "readWrite",
            "db" : "nongkaige"
        },
        {
            "role" : "dbAdmin",
            "db" : "nongkaige"
        }
    ]
}
5、删除用户
> db.dropUser("nongkaige")
true
6、为数据库写数据加锁

说明:改操作已经对数据库上锁,不允许执行写数据操作,一般在执行数据库备份时有用

> db.fsyncLock()
{
    "info" : "now locked against writes, use db.fsyncUnlock() to unlock",
    "lockCount" : NumberLong(1),
    "seeAlso" : "http://dochub.mongodb.org/core/fsynccommand",
    "ok" : 1
}
7、查看当前锁状态
> db.currentOp()
    "fsyncLock" : true,
    "info" : "use db.fsyncUnlock() to terminate the fsync write/snapshot lock",
    "ok" : 1
8、解锁
> db.fsyncUnlock()
{ "info" : "fsyncUnlock completed", "lockCount" : NumberLong(0), "ok" : 1 }

四、数据备份、恢复、导入、导出

1、备份全部数据库
mkdir testbak
cd testbak/
mongodump
2018-03-27T16:41:07.876+0800    writing admin.system.users to
2018-03-27T16:41:07.877+0800    done dumping admin.system.users (3 documents)
2018-03-27T16:41:07.877+0800    writing admin.system.version to
2018-03-27T16:41:07.878+0800    done dumping admin.system.version (2 documents)

说明:默认备份目录及数据文件格式为./dump/[databasename]/[collectionname].bson

2、备份指定数据库
mongodump -d admin

说明:备份数据库admin中的数据

3、备份一个数据库中的某个集合
mongodump -d admin -c system.users

说明:备份数据库admin中的system.users集合

4、恢复全部数据库
cd testbak/
mongorestore --drop
2018-03-27T17:18:20.949+0800    using default ‘dump‘ directory
2018-03-27T17:18:20.950+0800    preparing collections to restore from
2018-03-27T17:18:20.953+0800    restoring users from dump/admin/system.users.bson
2018-03-27T17:18:20.971+0800    done

说明:将备份的所有数据库恢复到数据库,--drop指定恢复数据之前,删除原来数据库的数据,否则会造成恢复后的数据重复

5、恢复某个数据库的数据
cd testbak/
mongorestore -d admin --drop
6、恢复某个数据库中的某个集合
cd testbak/
mongorestore -d admin -c system.users --drop
7、向mongodb导入数据
mongoimport -d admin -c system.users --type csv --headerline --drop < csvORtsvFile.csv

说明:将文件csvORtsvFile.csv的数据导入到admin数据库的system.users集合中,使用csv或tsv文件的列名作为集合的列名

需要注意的是,使用--headerline选项时,只支持csv和tsv文件。--type支持的类型有三个:csv、tsv、json

8、从mongodb导出数据
mongoexport -d admin -c system.users -q {} -f _id,title,url,spiderName,pubDate --csv > test.csv

说明:将admin数据库中system.users集合的数据导出到test.csv文件,其中个选项含义:

-f指定csv列名为_id,title,url,spiderName,pubDate
-q指定查询条件

五、基本日常操作命令

1、查看服务器上的数据库
> show dbs
2、切换数据库(如果没有这个数据库,自动创建)
> use config
3、查看数据库中的所有集合
> show collections
4、查看当前所在数据库
> db
5、创建数据库

mongo 中创建数据库采用的也是 use 命令,如果 use 后面跟的数据库名不存在,那么mongo将会新建该数据库。不过,实际上只执行 use 命令后,mongo 是不会新建该数据库的,直到你向该数据库中插入了数据。

> use nongkaige
switched to db nongkaige
> show dbs
admin   0.000GB
config  0.000GB
local   0.000GB

到这里并没有看到创建nongkaige数据库

> db.nongkaige.insert({"name":"testdb"})
WriteResult({ "nInserted" : 1 })
> show dbs
admin      0.000GB
config     0.000GB
local      0.000GB
nongkaige  0.000GB

这样,就可以看到mongo创建了nongkaige数据库

6、删除数据库(默认删除当前所在库,如果要删除指定库,使用use切换目录再删除)
> db.dropDatabase()
{ "dropped" : "nongkaige", "ok" : 1 }
> show dbs
admin   0.000GB
config  0.000GB
local   0.000GB
7、删除集合
> use nongkaige
switched to db nongkaige
> show collections
nongkaige
> db.nongkaige.drop()
true
> show collections
>
8、查看当前mongodb版本
> db.version()
3.6.3
9、查看当前数据库的连接机器地址
> db.getMongo()
connection to 127.0.0.1:27017
10、从指定机器上克隆数据库
> db.cloneDatabase("192.168.10.110")
11、从指定机器上复制指定数据库的数据到某个数据库中
> db.copyDatabase("master_slave","nongkaige","127.0.0.1")
{ "ok" : 1 }

原文地址:https://www.cnblogs.com/93bok/p/9679908.html

时间: 2024-11-09 09:28:29

Mongodb日常运维操作命令的相关文章

日常运维工作中如何确保你的linux操作系统安全

在现在这个世道中,Linux操作系统的安全是十分重要的.但是,你得知道怎么干.一个简单反恶意程序软件是远远不够的,你需要采取其它措施来协同工作.下面是日常运维工作中常用的几种Linux安全的策略方法. 1. 使用SELinux SELinux是用来对Linux进行安全加固的,有了它,用户和管理员们就可以对访问控制进行更多控制.SELinux为访问控制添加了更细的颗粒度控制.与仅可以指定谁可以读.写或执行一个文件的权限不同的是,SELinux可以让你指定谁可以删除链接.只能追加.移动一个文件之类的

zookeeper 用法和日常运维

本文以ZooKeeper3.4.3版本的官方指南为基础:http://zookeeper.apache.org/doc/r3.4.3/zookeeperAdmin.html,补充一些作者运维实践中的要点,围绕ZK的部署和运维两个方面讲一些管理员需要知道的东西.本文并非一个ZK搭建的快速入门,关于这方面,可以查看<ZooKeeper快速搭建>. 1.部署 本章节主要讲述如何部署ZooKeeper,包括以下三部分的内容: 系统环境 集群模式的配置 单机模式的配置 系统环境和集群模式配置这两节内容大

Hbase 日常运维

1.1监控Hbase运行状况 1.1.1操作系统 1.1.1.1IO a.群集网络IO,磁盘IO,HDFS IO IO越大说明文件读写操作越多.当IO突然增加时,有可能:1.compact队列较大,集群正在进行大量压缩操作. 2.正在执行mapreduce作业 可以通过CDH前台查看整个集群综合的数据或进入指定机器的前台查看单台机器的数据: b.Io wait 磁盘IO对集群的影响比较大,如果io wait时间过长需检查系统或磁盘是否有异常.通常IO增加时io wait也会增加,现在FMS的机器

hadoop日常运维与升级总结

日常运维 升级 问题处理方法 日常运维 进程管理 由于配置文件的更改,需要重启生效, 或者是进程自己因某种致命原因终止, 或者发现进程工作出现异常等情况下,需要进行手动进程的关闭或启动, 或者是增删节点过程中的需要, 进程的关闭与启动,使用 hadoop-daemon.sh start|stop datanode/namenode/journalnode/zkfc yarn-daemon.sh start|stop nodemanager/resourcemanager 检查进程是否完成关闭:

mysql日常运维与参数调优

日常运维 DBA运维工作 日常 导数据,数据修改,表结构变更 加权限,问题处理 其它 数据库选型部署,设计,监控,备份,优化等 日常运维工作: 导数据及注意事项 数据修改及注意事项 表结构变更及注意事项 加权限及注意事项 问题处理,如数据库响应慢 导数据及注意事项 数据最终形式(csv,sql文本,还是直接导入某库中) 导数据方法(mysqldump,select into outfile,) 注意事项 导出为csv格式需要file权限,并且只能数据库本地导 避免锁库锁表(mysqldump使用

MySQL 日常运维业务账号权限的控制

在MySQL数据库日常运维中,对业务子账号的权限的统一控制十分必要. 业务上基本分为读账号和写账号两种账号,所以可以整理为固定的存储过程,让数据库自动生成对应的库的账号,随机密码.以及统一的读权限,写权限.(这里没有对 host进行过多的限制.只赋给通用的192.168.% .有兴趣的同学可以在存储过程加个参数,对host 控制) delimiter // set session sql_log_bin=OFF; drop PROCEDURE IF EXISTS `usercrt` // CRE

Openstack云计算项目实施其二(安装后日常运维)

5 安装后日常运维   运维基本的操作都在控制节点上的,较为方便的方式就是在openstack 的 dashboard(仪表盘)中进行,进入 dashboard 的方式就是直接在浏览器中输入控制节点的 IP 地址.(需要注意的是浏览器选择方面最好选择火狐浏览器或则谷歌浏览器,因为相对于 IE 浏览器而言,前面两个浏览器对于 openstack 的支持性要好,使用 IE 会在打开实例控制台时无法进入,出现"No vnc...."的错误信息) 用户名和密码放在控制节点/root 下,存放在

kafka知识体系-日常运维命令

本文主要讲解kafka日常运维的命令,包括topic管理.性能测试脚本. kafka版本0.10.0,安装步骤见大数据平台搭建-kafka集群的搭建 常用脚本 如下所有的命令均基于KAFKA_HOME=/wls/oracle/kafka ,服务器列表如下: 10.20.112.59 10.20.112.64 10.20.112.65 10.20.116.129 10.20.116.175 创建topic /wls/oracle/kafka/bin/kafka-topics.sh --zookee

Linux小课堂开课了(9)-Centos7日常运维管理

Centos7日常运维管理 1,查看系统配置,进程,I/O,网卡流量使用w可以查看系统的状态,当前时间,系统启动时间,登录用户,从哪个IP登录的,系统的负载值.使用uptime查看系统的负载值使用iptop,可以具体查看哪个进行使用的I/O较多,需要安装一下[[email protected] ~]# yum -y install iotop[[email protected] ~]# iotop使用cat /proc/cpuinfo查看系统配置使用vmstat可以查看CPU,内存,虚拟磁盘,交