CentOS 7.9 部署mongodb

CentOS7.9 部署单机版 mongodb,含 mongosh

  • 默认无需密码登录,如果是生产环境,请开启访问认证
  • Mongod版本、安装包存储路径、安装目录可根据需求修改对应变量值
  • 目录结构如下:

/opt/mongod/
├── bin
│ ├── install_compass
│ ├── mongod
│ └── mongos
├── conf
│ └── mongod.conf
├── data
│ └── db
├── LICENSE-Community.txt
├── logs
│ └── mongodb.log
├── MPL-2
├── README
└── THIRD-PARTY-NOTICES

脚本如下

#! /bin/bash
START_TIME=$(date +%s)
APP_DIR=/opt
APP_SOURCE=/opt/source
APP_PACKAGE_VERSION=mongodb-linux-x86_64-rhel70-7.0.6
 
if [ ! -f $APP_SOURCE/$APP_PACKAGE_VERSION.tgz ];then
   echo "下载 mongodb安装包"
   wget -P ${APP_SOURCE}  https://fastdl.mongodb.org/linux/$APP_PACKAGE_VERSION.tgz
   if [ $? -ne 0 ];then
      echo "mongdb 安装包下载异常,请重新下载"
   exit
   else:
     echo "mongodb 安装包已下载完成"
   fi
fi
echo "开始解压mongodb安装包"
tar -xzvf ${APP_SOURCE}/$APP_PACKAGE_VERSION.tgz -C $APP_DIR
if [ -d $APP_DIR/mongod ];then
   rm -rf $APP_DIR/mongod
fi
mv ${APP_DIR}/$APP_PACKAGE_VERSION  $APP_DIR/mongod

mkdir -p $APP_DIR/mongod/logs $APP_DIR/mongod/conf $APP_DIR/mongod/data/db
touch /$APP_DIR/mongod/conf/mongod.conf
cat > /$APP_DIR/mongod/conf/mongod.conf << EOF
port=27017 

dbpath=$APP_DIR/mongod/data/db # 指定数据库路径

logpath=$APP_DIR/mongod/logs/mongodb.log # 指定日志文件路径

logappend=true # 使用追加方式写日志

fork=true # 以守护进程的方式运行

maxConns=200 # 最大同时连接数

noauth=true # 不启用验证
#auth=true

#journal=true # 每次写入会记录一条操作日志

storageEngine=wiredTiger # 存储引擎

bind_ip=0.0.0.0 # 服务绑定地址
EOF

echo "将mongodb配置成服务"
touch /usr/lib/systemd/system/mongod.service
cat > /usr/lib/systemd/system/mongod.service << EOF
[Unit]
Description=mongod.service
After=network.service

[Service]
Type=forking
ExecStart=$APP_DIR/mongod/bin/mongod -f $APP_DIR/mongod/conf/mongod.conf
PrivateTmp=true

[Install]
WantedBy=multi-user.target
EOF

echo "启动mongodb"
systemctl daemon-reload
systemctl start mongod
if [ $? -ne 0 ];then
   echo "mongodb 启动失败"
else
   echo "mongodb 启动成功,将mongodb 设置成开机启动"
fi
systemctl enable mongod

echo "安装mongosh"
wget -P ${APP_SOURCE} https://downloads.mongodb.com/compass/mongodb-mongosh-1.10.0.x86_64.rpm
cd ${APP_SOURCE} && rpm -ivh mongodb-mongosh-1.10.0.x86_64.rpm
if [ $? -ne 0 ];then
  echo "mongosh 安装出现异常"
  exit 0
else
  echo  "mongosh 已安装完成"
  echo  "部署过程总耗时:$(expr $(date +%s) - $START_TIME) 秒"
fi

开启认证登录

配置管理员账号如上图

登录mongodb

mongosh --host 127.0.0.1 --port 27017

选择admin库

use admin

创建管理员账号,密码为 Money^o617,自行修改密码,给管理权限

db.createUser(
{
user: "admin",
pwd: "Money^o617",
roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ]
}
)

创建普通用户,密码为AnShine^o617,自行修改, 给只读写权限

use logger
db.createUser({
user: "as_user",
pwd: "AnShine^o617",
roles: [ { role: "readWrite", db: "as_market" } ]
})

修改配置项,vim /opt/mongod/conf/mongod.conf
注释 noauth=true # 不启用验证 行
启用 auth=true
开启授权访问后的配置文件
重启mongodb

systemctl restart mongod
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值