1.MongoDB安装完成后,启动mongodb。
mongod --dbpath d:\mongodb\data\db
2.不要关闭mongodb服务窗口,新开cmd命令行窗口,以非验证形式进入mongodb。
mongo
3.创建用户,用户角色参考Built-In Roles
use admin;
db.createUser(
{
user: "root",
pwd: "r123",
roles: ["root"]
}
);
db.auth("root", "r123");
db.createUser(
{
user: "sa",
pwd: "r123",
roles: [{role:"dbOwner", db:"navmap"}]
}
);
4.先退出,然后使用sa帐号以验证形式进入mongodb。
D:\Program Files\MongoDB\Server\3.4\bin>mongo -u sa -p --authenticationDatabase navmap
5.授权
use navmap;
db.auth("sa", "r123");
6.插入一条数据(如果集合不存在则自动创建)
db.gwdata.insert({
"gmac": "1",
"uptime": "1",
"cdate": "1",
"imac": "1",
"rssi": "1",
"elec": "1",
"temperature": "1"
});
7.查看表数据。
show tables;
db.gwdata.find();
总结:
admin中创建角色为 root 的用户,它拥有管理所有数据库用户角色的权限。而创建的 sa 用户,拥有数据库 navmap 数据库的所有权限。
将mongodb注册成服务: mongod.exe --config "mongod.conf" --install
其中配置参考官网
storage:
dbPath: D:\mongodb\data\db #数据库路径
indexBuildRetry: false #索引构建失败,mongod重启后将会删除尚未完成的索引,但是否重建由此参数决定。默认值为true。
engine: wiredTiger #默认引擎WiredTiger支持document锁,mmapv1支持collections锁
wiredTiger:
engineConfig:
cacheSizeGB: 1 #wiredTiger缓存工作集(working set)数据的内存大小,单位:GB
journal:
enabled: true #启用日志文件,64位os默认启用
systemLog:
path: D:\mongodb\log\mongodb.log #日志输出文件路径
destination: file
logAppend: true #错误日志采用追加模式
quiet: true #这个选项可以过滤掉一些无用的日志信息,若需要调试使用请设置为false
net:
port: 27017 #端口号 默认为27017
bindIp: 127.0.0.1 #绑定ip
maxIncomingConnections: 200 #允许的最大连接数,默认值为65536.通常客户端使用连接池时可不设置
wireObjectCheck: true #当客户端写入数据时,是否检测数据的有效性(BSON),如果数据格式不对,此insert、update操作将会被拒绝;默认值为true
ipv6: false #是否支持mongos/mongod多个实例之间使用IPV6网络,默认值为false
security:
authorization: enabled #开启授权验证,用户只能访问已被授予权限的数据库资源和操作。
javascriptEnabled: false #启用或禁用服务器端JavaScript执行