MongoDB部署

  • 准备
  • 部署
  • mongoDB部署
  • 启动优化
  • 角色
  • 参考


准备

MongoDB下载

官方下载 选择自己需要的版本,以及服务器版本,以及安装方式,本篇文章我们安装6.0MongoDB使用CentOS8.0,使用tgz安装

mongodb sharding部署 mongodb三种部署方式_mongodb


MongoDB Shell下载

官方下载 MongoDB6.0已经不自带shell了,需要单独安装,不在Linux中进入MongoDB可以不安装,下载时注意选择平台,安装类型很多,这个版本不带OpenSSL,有需要的自己选择

mongodb sharding部署 mongodb三种部署方式_linux_02

将下载的两个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后面拼上**:端口**,然后连接即可

mongodb sharding部署 mongodb三种部署方式_数据库_03


mongodb sharding部署 mongodb三种部署方式_linux_04