安装包下载 https://www.mongodb.com/try/download/community
本文记录的是单机部署
Windows环境MongoDB部署
1>解压安装包
建议使用4.+版本以上的安装包(zip)
2>创建文件夹和文件
2.1)在解压后的文件夹bin同级分别创建data , conf , logs 三个文件夹
2.2 在conf 文件夹下创建 mongodb.conf 文件并添加配置
mongoDB默认端口27017 建议修改,(自行决定使用端口)
如不能确保网络安全,建议指定可访问ip
systemLog:
destination: file
path: E:\app\mongodb-win32-x86_64-windows-4.4.18\logs\mongodb.log
logAppend: true
storage:
journal:
enabled: true
dbPath: E:\app\mongodb-win32-x86_64-windows-4.4.18\data\db
net:
bindIp: 127.0.0.1
port: 27020
setParameter:
enableLocalhostAuthBypass: false
3>启动mongoDB
在bin 目录下启动命令窗口执行
mongod --config ..\conf\mongodb.conf
4>登录mongoDB
在bin目录下另开一个命令窗口,执行
mongo --host=127.0.0.1 --port=27020
5>创建超级管理员和test库的管理员
5.1 创建超级管理员
show dbs
use admin
db.createUser({user: "root",pwd: "RootAa49%#", roles: [ { role: "root", db: "admin" } ]})
db.auth("root","RootAa49%#")
5.2创建test库的管理员
use test
db.createUser({user: "test",pwd: "RootAa49%#", roles: [ { role: "readWrite", db: "test" } ]})
6>停止mongodb
直接关闭命令窗口即可
7>mongodb.conf开启登录验证配置
在给admin配置用户名密码前不要开启登录验证
security:
authorization: enabled
8>重新启动mongoDB,(两种方式选一种)
8.1在命令窗口使用下面的命令,路径自行替换
mongod --dbpath=E:\app\mongodb-win32-x86_64-windows-4.4.18\data\db --bind_ip=127.0.0.1 --port=27020 --logpath=E:\app\mongodb-win32-x86_64-windows-4.4.18\logs\mongodb.log --auth&
8.2 配置mongoDB到系统服务中,根据配置文件启动
mongod --config" E:\app\mongodb-win32-x86_64-windows-4.4.18\conf\mongodb.conf" --install --serviceName "MongoDB"
然后在命令窗口执行
net start MongoDB
9>验证开启登录验证
按4>方法登录发现可以连接,在未登录的情况下无法查看dbs
只有登录之后可以查看
10>删除文件服务
sc delete MongoDB
删除之后需要执行 8.2重新创建
11>删除用户
use 库名
db.system.users.remove({user:“用户名”})
Linux环境MongoDB部署
1 上传mongodb 压缩包 到Linux服务器 /usr/etc下
2 解压tgz包 tar -zxvf mongodb-linux-x86_64-rhel70-4.4.18.tgz
3 修改解压后的文件夹名字为mongodbserver
mv mongodb-linux-x86_64-rhel70-4.4.18 mongodbserver
4 进入 mongodbserver 创建文件夹
创建数据库文件夹:mkdir -r data/db
创建日志文件夹:mkdir logs
创建配置文件夹:mkdir conf
5 进入conf下创建配置文件 mongodb.conf 配置如下:
storage:
dbPath: "/usr/etc/mongodbserver/data/db"
journal:
enabled: true
systemLog:
destination: file
path: "/usr/etc/mongodbserver/logs/mongodb.log"
logAppend: true
net:
bindIp: 0.0.0.0
port: 27020
processManagement:
fork: true
6 启动mongodb
./mongod -f /usr/etc/mongodbserver/conf/mongodb.conf
7 启动成功登录mongodb
./mongo --host=127.0.0.1 --port=27020
创建超级管理员和管理员(命令和Windows的一样)
8 停止mongodb
./mongod -shutdown -dbpath=/usr/etc/mongodbserver/data/db/
9 修改配置文件,添加登录验证
security:
authorization: enabled
10 重启mongodb
11 设置开机自启动
先停止mongodb
然后添加MongoDB系统服务,命令如下:vim /etc/rc.d/init.d/mongod
打开编辑器后,我们将下面的配置粘贴进去,然后保存
start() {
/usr/etc/mongodbserver/bin/mongod --config /usr/etc/mongodbserver/etc/mongodb.conf
}
stop() {
/usr/etc/mongodbserver/bin/mongod --config /usr/etc/mongodbserver/etc/mongodb.conf --shutdown
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo
$"Usage: $0 {start|stop|restart}"
exit 1
esac
保存完成之后,添加脚本执行权限,命令如下:chmod +x /etc/rc.d/init.d/mongod
启动MongoDB, service mongod start
停止MongoDB, service mongod stop
重启MongoDB, service mongod restart
常见问题
com.mongodb.MongoSecurityException: Exception authenticating MongoCredential
比如,mongoDB下有一个数据库 A ,我们连接用的用户test 是 数据库 admin 中的用户就会报这个错误,我们只需要在 A 下创建用户然后连接就行了.