1.下载地址:http://www.mongodb.org/downloads
2.解压或安装到自己想要安装的目录,比如D:\MongoDB
3.创建文件夹D:\MongoDB\Server\3.2\data、D:\MongoDB\Server\3.2\logs,分别用来安装db和日志文件
4.以管理员的身份命令行进入bin目录,执行以下命令将MongoDB安装成服务:
mongod --logpath D:/MongoDB/Server/3.2/logs/mongodb.log --logappend --dbpath D:/MongoDB/Server/3.2/data --directoryperdb --serviceName MongoDB --auth -install
(注:加上 --auth 表示使用用户名和密码后才能进行MongoDB的相关操作)
安装成功后,可以在服务里看到,执行命令net start mongodb或手动启动服务:
5.MongoDB的bin目录下,执行:
use admin (注:MongoDB安装好以后由默认的admin库和local库;其中admin存放的是用户信息)
db.createUser({user:"root",pwd:"123456",roles:["root"] }) (注:这里创建了一个不受访问限制的超级用户)
db.dropUser("root") (注:移除用户前可能需要认证操作 db.auth("root","123456"))
createUser 创建用户,如:
db.createUser( {
user: "accountAdmin01",
pwd: "changeMe",
customData: { employeeId: 12345 },
roles: [
{ role: "clusterAdmin", db: "admin" }, { role: "readAnyDatabase", db: "admin" },
"readWrite"
]
},
{
w: "majority",
wtimeout: 5000
} )
customData 用户信息备注
roles 用户角色:
1. 数据库用户角色:read、readWrite;
2. 数据库管理角色:dbAdmin、dbOwner、userAdmin;
3. 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
4. 备份恢复角色:backup、restore;
5. 所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
6. 超级用户角色:root
创建一般用户,也是用createUser,如:use test db.createUser({user:"test",pwd:"12345",roles:[{role:"read",db:"db01"},{role:"read",db:"db02"},{role:"read",db:"db03"}]})
6.客户端测试连接(可以在 http://3t.io/mongochef/ 下载mongochef):
7.如果遇到服务开启不了、发生服务特定错误: 100或发生服务特定错误: 48
解决方案:
1.删除D:\MongoDB\Server\3.2\data\mongod.lock文件
2.删除服务
mongod --logpath "D:/MongoDB/Server/3.2/logs/mongodb.log" --logappend --dbpath "D:/MongoDB/Server/3.2/data" --directoryperdb --serviceName "MongoDB" --serviceDisplayName "MongoDB" --remove
3.重新安装 (注意:去除--directoryperdb 命令)
mongod --logpath "D:/MongoDB/Server/3.2/logs/mongodb.log" --logappend --dbpath "D:/MongoDB/Server/3.2/data" --serviceName "MongoDB" --install