在安装MonggoDB
前,需要知道与SpringBoot
整合时的最佳匹配版本,根据SpringBoot
版本下载对应的MonggoDB
版本。
参考:《SpringBoot与MongoDB版本对照参考》
下载地址:https://www.mongodb.com/try/download/community
将下载的mongodb-linux-x86_64-rhel70-4.4.12.tgz
拷贝到服务器的/opt
目录下,或者直接使用wget
命令下载;
解压文件:
# 解压
tar -zxvf mongodb-linux-x86_64-rhel70-4.4.12.tgz
# 修改名称
mv mongodb-linux-x86_64-rhel70-4.4.12 mongodb
创建工作目录:
#数据存储目录
mkdir -p /opt/mongodb/single/data
#日志存储目录
mkdir -p /opt/mongodb/single/log
创建配置文件:
vim /opt/mongodb/single/mongod.conf
配置内容:
systemLog:
#MongoDB发送所有日志输出的目标指定为文件
destination: file
#mongod或mongos应向其发送所有诊断日志记录信息的日志文件的路径
path: "/opt/mongodb/single/log/mongodb.log"
#当mongos或mongod实例重新启动时,mongos或mongod会将新条目附加到现有日志文件的末尾。
logAppend: true
storage:
#mongod实例存储其数据的目录。storage.dbPath设置仅适用于mongod。
dbPath: "/opt/mongodb/single/data"
journal:
#启用或禁用持久性日志以确保数据文件保持有效和可恢复。
enabled: true
processManagement:
#启用在后台运行mongos或mongod进程的守护进程模式。
fork: true
net:
#服务实例绑定的IP,默认是localhost,多个ip逗号分割
bindIp: 0.0.0.0
#绑定的端口,默认是27017
port: 27017
security:
#用户验证
authorization: enabled
# 进入bin
cd /opt/mongodb/bin/
# 启动
./mongod --config ../single/mongod.conf
# 进入bin
cd /opt/mongodb/bin/
# 关闭
./mongod --shutdown --config ../single/mongod.conf
# 进入bin
cd /opt/mongodb/bin
# 使用命令
./mongo
# 使用管理员
use admin
#创建管理员用户
db.createUser({user:"root",pwd:"123456",roles:["root","readWrite"]});
#创建普通用户-读写权限,readWrite:读写,read:只读,库管理员:userAdminAnyDatabase
db.createUser({user:"test",pwd:"123456",roles:["readWrite"]})
#查看用户
show users
#验证用户密码,返回1,则表示成功
db.auth("root","lhzlx")
#修改用户密码
db.updateUser("root",{pwd:"new_pwd"})
#删除用户
db.dropUser("root")
#为非admin数据库,设置用户,role为对应角色,db为所属数据库
db.createUser({user: "test", pwd: "123456", roles: [{ role: "readWrite", db: "test" }]})
#重新启动mongo实例
./mongod --shutdown --config ../single/mongod.conf
./mongod --config ../single/mongod.conf
# 追加中local配置
vim /etc/rc.d/rc.local
# 加入配置
/opt/mongodb/bin/ --config /opt/mongodb/single/mongod.conf
# 修改权限
chmod +x /etc/rc.d/rc.local
roles 如下:
数据库用户角色(Database User Roles)
数据库管理角色(Database Admininstration Roles)
备份和还原角色(Backup and Restoration Roles)
跨库角色(All-Database Roles)
集群管理角色(Cluster Administration Roles)
超级角色(super master Roles)