<返回更多

MongoDB日常维护

2020-09-21    
加入收藏

导入和导出

MongoDB日常维护

命令太枯燥了,让大家看看妹子

mongoimport命令可以把一个特定格式文件中的内容导入到指定的collection中。该工具可以导入JSON格式数据,也可以导入CSV格式的数据。

mongoexport命令可以把一个collection导出成JSON格式或CSV格式的文件。可以通过参数指定导出的数据项,也可以根据指定的条件导出数据。

 

-d:指明数据库的名字

-c:指明collection的名字

-f:指明要导出哪些列

-o:指明要导出的文件名

-q:指明导出数据的过滤条件

mongoexport -d school -c info -o /opt/info.json   //导出
mongoimport -d school -c info1 --file /opt/info.json  //导入到info集合
mongoexport -d school -c info1 -q '{"id":{"$eq":10}}' -o /opt/top10.json    //条件导出指定第10行

备份和恢复

备份:mongodump

恢复:mongorestore

参数说明:

-h: MongoDB所在服务器地址

-d:需要备份的数据库实例

-o:备份的数据存放的位置,该目录需要提前建立,在备份完成后,系统自动在dump目录下建立一个test目录,这个目录里面存放该数据库实例的备份数据。

mkdir /backup   //创建存放目录
mongodump -d abc -o /backup/       //备份abc数据库
mongorestore -d abc123 --dir=/backup/abc    //恢复到abc123数据库

复制数据库

db.copyDatabase

>db.copyDatabase("abc","abc1") //复制数据库abc生成abc1

克隆集合

runCommand

将abc中的info集合克隆到实例2

mongo --port 27018      //进入实例2
db.runCommand({"cloneCollection":"abc.info","from":"192.168.100.152:27017"})

授权启动

可以配置授权用户来访问MongoDB,启动时必须指定auth=true,否则授权不起作用。

可以将用户加入到角色,内置数据库用户角色包括:read、readWrite,数据库管理角色包括:dbAdmin、dbOwner、useAdmin,超级用户角色为root。

vim /usr/bin/mongodb1.conf

......

auth=true

......

mongo

 

>use admin

>db.createUser({"zx":"root","pwd":"123","roles":"[root"]}) //创建用户zx,密码为123,分配到root角色

>db.auth("root","123") //验证用户

进程管理

查看当前正在运行的进程的命令为:db.currentOp()

终止正在运行的高消耗资源的进程命令为:db.killOp(opid)

MongoDB监控

查看数据库实例的状态信息:db.serverStatus()
查看当前数据库的统计信息:db.status()
查看集合统计信息:db.users.stats()
查看集合大小:db.users.dataSize()

也可以通过Web界面查看系统监控信息,需要在配置文件中添加下面一行:

httpinterface=true

然后在浏览器中通过http://localhost:28017 进行访问。通过Web页面可以看到:

1.当前MongoDB的所有连接

2.各个数据库和Collection的访问统计,包括:Reads、Writes、Queries、GetMores、Inserts、Updates、Removes。

3.写锁的状态

4.日志文件的最后几百行。

5.所有的MongoDB命令。

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>