MongDB的使用

开启服务

1
mongod --dbpath /data/db/ --port 27017 --fork --logpath --config --nohttpinterface
  • dbpath 数据库目录 (请先创建好,如果不创建,直接运行mongod会报错)
  • port 端口
  • fork 守护进程
  • logpath 日志目录
  • config 配置文件
  • nohttpinterface 关闭大于1000的管理接口
  • auth 开启服务器验证

把配置放置在config文件里,增强复用性

1
2
3
4
5
port = 27017
logpath = /Users/jan/mongdb.log
auth = true
fork = true
dbpath = /Users/jan/data/db

关闭服务

  • 在mongo环境中关闭
1
2
use admin
db.shutdownServer()
  • 使用 mongod 命令关闭
1
mongod  --shutdown  --dbpath /database/mongodb/data/
  • 使用kill命令关闭

    给服务器发送一个SIGINT,SIGTERM信号,即 “kill -2 PID,” 或者 “kill -15 PID“

1
2
3
4
ps aux | grep mongo
jan 12899 0.4 0.5 3046076 41216 ?? S 11:44上午 0:00.22 mongod --config ./mongod.config

kill -2 12899

非正常关闭mongodb,导致无法启动

  1. 删除 /data/db/mongod.locks文件

  2. 使用repair 选项修复mongodb./mongod --repair

  3. 重启启动mongodb./mongod

认证

在开启MongoDB 服务时不添加任何参数时,可以对数据库任意操作,而且可以远程访问数据库。如果启动的时候指定—auth参数,可以对数据库进行用户验证。

添加帐号

1
2
3
4
use test

db.addUser("username","password") //添加
db.addUser("read_only","username","password") //添加只能读取权限帐号

更新密码

本质

账户信息存在admin.system.users集合里,存储格式为:

1
2
3
4
5
{
"user":"xxxx",
"readOnly":true,
"pwd":password_hash
}

如果想查询数据库先添加一个授权用户

为数据库添加用户

1
2
3
4
5
6
7
8
9
use admin 
db.addUser("root","1234")
>> output
>> {
"user" : "root",
"readOnly" : false,
"pwd" : "fa0450e8c3e5fff6005de2f88559c3d9",
"_id" : ObjectId("53ca83234b763e5d3dbf15c2")
}

使用授权用户链接数据库

1
2
3
4
5
6
7
8
9
mongo admin -uroot -p1234 
db.system.users.find()
>> output
>> {
"_id" : ObjectId("53ca83234b763e5d3dbf15c2"),
"user" : "root",
"readOnly" : false,
"pwd" : "fa0450e8c3e5fff6005de2f88559c3d9"
}

链接服务

本地链接

1
mongo -uroot -p1234
  • u 认证用户名
  • p 认证密码

远程链接

1
mongo -uroot -p1234 ip:port/dbname

导出 & 导入

导出

1
2
3
4
mongoexport -d templates -c page -o templates.txt

//远程导出
mongoexport -d templates -c template -h 10.32.84.119:27017 -o templates.txt

更多help

1
mongoexport --help

导入

1
mongoimport -d templates -c template --file template.txt

更多help

1
mongoimport --help

remote db

连接远程终端

1
mongo -u admin -p admin 192.168.0.197:27017/templates

更多help

1
mongo -h



本文链接: http://home.meng.uno/articles/83c0afa5/ 欢迎转载!

© 2018.02.08 - 2020.06.02 Mengmeng Kuang  保留所有权利!

UV : | PV :

:D 获取中...

Creative Commons License