MongoDB部署
- 准备
- 部署
- mongoDB部署
- 启动优化
- 角色
- 参考
准备
MongoDB下载
官方下载 选择自己需要的版本,以及服务器版本,以及安装方式,本篇文章我们安装6.0MongoDB使用CentOS8.0,使用tgz安装
MongoDB Shell下载
官方下载 MongoDB6.0已经不自带shell了,需要单独安装,不在Linux中进入MongoDB可以不安装,下载时注意选择平台,安装类型很多,这个版本不带OpenSSL,有需要的自己选择
将下载的两个tgz包上传至服务器中
上传位置 /usr/local/weekeight/mongoDB
部署
mongoDB部署
mkdir /usr/local/mongoDB # 创建文件夹,将下载的tgz上传到这里
cd /usr/local/mongoDB # 进入到这个文件夹下
mkdir /usr/local/mongoDB/log # 创建存放日志的目录
mkdir /usr/local/mongoDB/data # 创建存放数据的目录
tar -zxvf mongodb-linux-x86_64-rhel80-6.0.1.tgz # 解压
tar -zxvf mongosh-1.5.4-linux-x64.tgz # 解压
mv mongodb-linux-x86_64-rhel80-6.0.1 mongoDBServer # 修改一下文件名
mv mongosh-1.5.4-linux-x64 mongoDBShell # 修改一下文件名
cd /usr/local/mongoDB/mongoDBServer/bin # 进入文件夹准备添加配置文件
vim mongodb.conf # 创建配置文件
vim配置
# 数据库路径
dbpath=/usr/local/mongoDB/data
# 日志输出文件路径
logpath=/usr/local/mongoDB/log/mongodb.log
# 错误日志采用追加模式
logappend=true
# 启用日志文件,默认启用
journal=true
# 这个选项可以过滤掉一些无用的日志信息,若需要调试使用请设置为false
quiet=true
# 端口号 默认为27017
port=27017
#只允许本地ip:127.0.0.1连接到该数据库服务
#bind_ip=127.0.0.1
#允许远程访问
bind_ip=0.0.0.0
#开启子进程(作用:让MongoDB服务在linux后台运行)
fork=true
#开启认证,必选先添加用户,先不开启(不用验证账号密码)
# auth=true
vim /etc/profile # 修改一下环境变量,将下面的地址追加到文档最后,mongodb_home可以不加,后面我们做启动优化
export MONGODB_HOME=/usr/local/mongoDB/mongoDBServer
export MONGODB_SHELL=/usr/local/mongoDB/mongoDBShell
export PATH=$PATH:$MONGODB_HOME/bin:$MONGODB_SHELL/bin
source /etc/profile # 刷新一下环境变量
启动优化
vim /usr/lib/systemd/system/mongodb.service # 配置mongodb服务
ln -s /usr/lib/systemd/system/mongodb.service /etc/systemd/system/mongodb.service # 创建软连接
mongodb.service配置
[Unit]
Description=mongodb-server
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
ExecStart=/usr/local/mongoDB/mongoDBServer/bin/mongod --config /usr/local/mongoDB/mongoDBServer/bin/mongodb.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/usr/local/mongoDB/mongoDBServer/bin/mongod --shutdown --config /usr/local/mongoDB/mongoDBServer/bin/mongodb.conf
PrivateTmp=true
Restart=always
RestartSec=1
[Install]
WantedBy=multi-user.target
systemctl daemon-reload # 加载一下刚刚的配置文件
systemctl start mongodb.service # 启动MongoDB
systemctl status mongodb.service # 检查是否启动成功
mongosh # MongoDB Shell不用配置,只用加一下环境变量即可,解压就可以使用,默认进入的时test库,接下设置密码
进入mongodb的命令行
先转到admin库中
use admin
设置账户密码,然后就是角色
db.createUser({user:"root",pwd:"Kr8PbuNeY",roles:[{role:"root",db:"admin"}]})
退出来
quit
角色
数据库用户角色
read: 只读数据权限
readWrite:读写数据权限
数据库管理角色
dbAdmin: 在当前db中执行管理操作的权限
dbOwner: 在当前db中执行任意操作
userADmin: 在当前db中管理user的权限
备份和还原角色
backup: 备份
restore: 还原
夸库角色
readAnyDatabase: 在所有数据库上都有读取数据的权限
readWriteAnyDatabase: 在所有数据库上都有读写数据的权限
userAdminAnyDatabase: 在所有数据库上都有管理user的权限
dbAdminAnyDatabase: 管理所有数据库的权限
集群管理
clusterAdmin: 管理机器的最高权限
clusterManager: 管理和监控集群的权限
clusterMonitor: 监控集群的权限
hostManager: 管理Server
超级权限
root: 超级用户
Linux命令行
systemctl stop mongodb.servic # 关闭MongoDB
vim /usr/local/mongoDB/mongoDBServer/bin/mongodb.conf # 进入到配置文件中将auth=true的注释解开
systemctl start mongodb.service # 启动MongoDB
mongosh admin -u root -p Kr8PbuNeY # 再进入到MongoDB的时候就要加上了,不然的话可以进去但是命令都不能用
然后就是开放端口了27017将端口开放,如果是云服务的话记得再控制台打开
使用MongoDB Compass在其他地方远程连接,端口默认的不用写,不是默认的在IP后面拼上**:端口**,然后连接即可