windows安装mongodb并设置系统服务(带认证)

阅读更多

windows中安装mongodb和linux不同,windows安装mongodb很简单,只要去https://www.mongodb.com/download-center?jmp=nav#community下载,然后安装即可。

安装后,我们希望mongodb能随机启动,作为服务存在,而不要每次都手动去用命令行启动mongodb。
我将MongoDB自定义安装到了D:\MongoDB\3.4目录中。
首先,我们为mongodb做一个配置文件,省得启动的时候带太多的参数。
mongod.conf

systemLog:
destination: file
logAppend: true

path: D:\MongoDB\mongod.log

storage:
dbPath: D:\MongoDB\data
journal:
enabled: true

processManagement:
#fork: true
pidFilePath: D:\MongoDB\mongod.pid
net:
port: 27017
bindIp: 0.0.0.0
security:
authorization: enabled

创建文件夹: D:\MongoDB\data

添加系统服务:
D:\MongoDB\3.4\bin\mongod -f D:\MongoDB\mongod.conf --serviceName "MongoDB" --serviceDisplayName "MongoDB" --install
如果要卸载系统服务:
D:\MongoDB\3.4\bin\mongod --remove
启动系统服务:
net start MongoDB
停止系统服务:
net stop MongoDB
 
如果想在cmd中方便的使用mongo命令,那么建议将D:\MongoDB\3.4\bin添加到环境变量Path中。

 

设置MongoDB授权登陆:
首先,更改配置文件,注释掉授权登陆的2行配置,用#。

#security:
# authorization: enabled

然后重启mongod:
net stop MongoDB
net start MongoDB
使用命令行,输入mongo即可连接到mongod,因为没有使用认证控制,所以一般连接到mongod以后,会看到类似“WARNING: Access control is not enabled for the database.”的waining。
然后执行如下指令:

use admin;

db.createUser({
user: "root",
pwd: "root",
roles: [{
role: "root",
db: "admin"
}]
});

show users;
至此root用户创建好了,注意如果是生产环境,密码千万不要也是root。
去掉配置文件中的那两行注释:

security:
authorization: enabled

再重启mongodb:
net stop mongodb
net start mongodb
再连接:

mongo

use admin

db.auth('root', 'root')

show users

或者直接以root用户连接,跟mysql手法完全相同:

mongo -uroot -proot admin

show users

此时如果想创建某个应用的数据库,并设置只能操作该数据库的普通用户,可以使用如下命令:

use test;
db.createUser({
user: "test",
pwd: "test",
roles: [{
role: "readWrite",
db: "test"
}]
});
show users;

至此MongoDB数据库从安装,到配置windows服务,到创建授权用户搞定。
如果想连接MongoDB,除了命令行这种最通用但最不方便的方式以外,还可以借助客户端,我首先推荐跟phpMyAdmin雷同的RockMongo,虽然这个管理工具很老并不再看到有维护的迹象了吧,但用起来的确很方便。
其次我推荐用官方推荐的NoSQL Manager for MongoDB,这个工具用起来比百度搜索到的那些客户端都要好用。

 

如果要修改密码,请执行:
db.changeUserPassword('root', 'new password');

你可能感兴趣的:(windows安装mongodb并设置系统服务(带认证))