开启服务
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
|
关闭服务
1 2
|
use admin db.shutdownServer()
|
1
|
mongod --shutdown --dbpath /database/mongodb/data/
|
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,导致无法启动
-
删除 /data/db/mongod.locks
文件
-
使用repair 选项修复mongodb./mongod --repair
-
重启启动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 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
|
mongoimport -d templates -c template --file template.txt
|
更多help
remote db
连接远程终端
1
|
mongo -u admin -p admin 192.168.0.197:27017/templates
|
更多help
The link of this page is https://blog.nooa.tech/articles/83c0afa5/ . Welcome to reproduce it!