mongodb日常运维操作命令

 每日运维   2018-07-19 18:48   4562 人阅读  0 条评论

一、启动和终止

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:"123!@",roles:["readWrite","dbAdmin"]})

Successfully added user: { "user" : "nongkaige", "roles" : [ "readWrite", "dbAdmin" ] }

 

3、数据库认证、安全模式

> db.auth("nongkaige","123!@")

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://linux365.cn/36.html
版权声明:本文为原创文章,版权归 每日运维 所有,欢迎分享本文,转载请保留出处!
 相关文章  关键词:

 发表评论


表情

还没有留言,还不快点抢沙发?