mongodb入门学习
Mongodb:
启动命令
./mongod –f mongodb.conf
配置文件示例
dbpath = /usr/local/mongodb/data/db #数据文件存放目录
logpath = /usr/local/mongodb/logs/mongodb.log #日志文件存放目录
port = 27017 #端口
fork = true #以守护程序的方式启用,即在后台运行
nohttpinterface = true
auth=true
bind_ip=0.0.0.0
关闭命令
mongod –journal –shutdown -f /etc/mongodb.conf
配置文件解析:
mongodb的参数说明:
–dbpath 数据库路径(数据文件)
–logpath 日志文件路径
–master 指定为主机器
–slave 指定为从机器
–source 指定主机器的IP地址
–pologSize 指定日志文件大小不超过64M.因为resync是非常操作量大且耗时,最好通过设置一个足够大的oplogSize来避免resync(默认的 oplog大小是空闲磁盘大小的5%)。
–logappend 日志文件末尾添加
–port 启用端口号
–fork 在后台运行
–only 指定只复制哪一个数据库
–slavedelay 指从复制检测的时间间隔
–auth 是否需要验证权限登录(用户名和密码)
注:mongodb配置文件里面的参数很多,定制特定的需求,请参考官方文档
进入控制台命令
./mongo
开放27017端口
vi /etc/sysconfig/iptables
-A INPUT -m state –state NEW -m tcp -p tcp –dport 27017 -j ACCEPT
/etc/init.d/iptables reload
切换到admin数据库
use admin
进行用户查询操作
db.system.find();
Error: error: {
“ok” : 0,
“errmsg” : “not authorized on admin to execute command { find: \”system.users\”, filter: {} }”,
“code” : 13
}
创建新用户
db.createUser(
{
user: “thuadev”,
pwd: “123456”,
roles: [ { role: “root”, db: “admin” } ]
}
)
授权
db.auth(“thuadev”,”123456”)
1
再次进行用户查询操作
db.system.users.find();
{ “_id” : “admin.thuadev”, “user” : “thuadev”, “db” : “admin”, “credentials” : { “SCRAM-SHA-1” : { “iterationCount” : 10000, “salt” : “Mxhk/PddgNhiFbuMlbxmnA==”, “storedKey” : “gSjLblQqB/12C2aWEvP4ESSSjW0=”, “serverKey” : “9iZ33QnXziaCTfw+D9LiFxOnziI=” } }, “roles” : [ { “role” : “root”, “db” : “admin” } ] }
删除用户操作
db.system.users.remove({user:”thuadev”})
WriteResult({ “nRemoved” : 1 })
查看所有角色
show roles