Linux搭建MonggoDB环境
目录
- 前言
- 1、下载MongoDB
- 2、创建数据文件
- 3、创建配置
- 4、启动服务
- 5、服务关闭
- 6、创建用户
- 7、配置开机自启
- 8、roles列表
前言
在安装MonggoDB
前,需要知道与SpringBoot
整合时的最佳匹配版本,根据SpringBoot
版本下载对应的MonggoDB
版本。
参考:《SpringBoot与MongoDB版本对照参考》
1、下载MongoDB
下载地址:https://www.mongodb.com/try/download/community
2、创建数据文件
将下载的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
3、创建配置
创建配置文件:
vim /opt/mongodb/single/mongod.conf
配置内容:
systemLog: #MongoDB发送所有日志输出的目标指定为文件 destination: file #mongod或mongos应向其发送所有诊断日志记录信息的日志文件的路径 path: "/opt/mongodb/single/log/mongodb.log" #当mongos或mongod实例重新启动时,mongos或mongod会将新条目附加到现有日志文件的末尾。 logAppend: truestorage: #mongod实例存储其数据的目录。storage.dbPath设置仅适用于mongod。 dbPath: "/opt/mongodb/single/data" journal:#启用或禁用持久性日志以确保数据文件保持有效和可恢复。enabled: true processManagement: #启用在后台运行mongos或mongod进程的守护进程模式。 fork: truenet: #服务实例绑定的IP,默认是localhost,多个ip逗号分割 bindIp: 0.0.0.0 #绑定的端口,默认是27017 port: 27017security: #用户验证 authorization: enabled
4、启动服务
# 进入bincd /opt/mongodb/bin/# 启动./mongod --config ../single/mongod.conf
5、服务关闭
# 进入bincd /opt/mongodb/bin/# 关闭./mongod --shutdown --config ../single/mongod.conf
6、创建用户
# 进入bincd /opt/mongodb/bin# 使用命令./mongo# 使用管理员use admin#创建管理员用户db.createUser({user:"root",pwd:"123456",roles:["root","readWrite"]});#创建普通用户-读写权限,readWrite:读写,read:只读,库管理员:userAdminAnyDatabasedb.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
7、配置开机自启
# 追加中local配置vim /etc/rc.d/rc.local# 加入配置/opt/mongodb/bin/ --config /opt/mongodb/single/mongod.conf# 修改权限 chmod +x /etc/rc.d/rc.local
8、roles列表
roles 如下:
数据库用户角色(Database User Roles)
- read : 授权User只读数据的权限,允许用户读取指定的数据库
- readWrite 授权User读/写数据的权限,允许用户读/写指定的数据库
数据库管理角色(Database Admininstration Roles)
- dbAdmin:在当前的数据库中执行管理操作,如索引的创建、删除、统计、查看等
- dbOwner:在当前的数据库中执行任意操作,增、删、改、查等
- userAdmin :在当前的数据库中管理User,创建、删除和管理用户。
备份和还原角色(Backup and Restoration Roles)
- backup
- restore
跨库角色(All-Database Roles)
- readAnyDatabase:授权在所有的数据库上读取数据的权限,只在admin 中可用
- readWriteAnyDatabase:授权在所有的数据库上读写数据的权限,只在admin 中可用
- userAdminAnyDatabase:授权在所有的数据库上管理User的权限,只在admin中可用
- dbAdminAnyDatabase: 授权管理所有数据库的权限,只在admin 中可用
集群管理角色(Cluster Administration Roles)
- clusterAdmin:授权管理集群的最高权限,只在admin中可用
- clusterManager:授权管理和监控集群的权限
- clusterMonoitor:授权监控集群的权限,对监控工具具有readonly的权限
- hostManager:管理server
超级角色(super master Roles)
- root :超级账户和权限,只在admin中可用