【Linux】MongoDB数据库-安装部署

本文详细介绍了MongoDB6.0在Linux环境下的下载、安装、配置、启动过程,包括MongoDB的版本特性,特别是ChangeStream的更新。同时,提到了MongoDB的配置文件设置,如数据库路径、日志文件、端口和用户验证,并指导如何创建启动脚本以实现开机启动。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

安装部署手册

一、下载安装

1、下载MongoDB的安装包

wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-6.0.7.tgz
MongoDB版本特性
3.6- 初次发布
- 订阅维度有限
- events类型有限
- 支持故障恢复
- 支持update查看事后视图
4.0- 新增更粗粒度的库以及集群维度
- 支持drop/dropDatabase/rename事件
- resumeToken格式变更(BinData->hex字符串)
4.2- 支持了诸如 s e t / set/ set/unset等更多pipeline操作符
- 新增了startAfter选项,可以按时间点启动监听
- 对于修改_id事件的报错处理
- 移除了对{readConcern: majority}的依赖
5.1- 提升部分聚合框架下stage的执行效率
- 更高的资源利用率
5.3- 支持对chunk迁移期间孤儿文档更新的过滤
  • 在这次的MongoDB 6.0版本里。对Change Stream的更新包括:

    支持变更的前后视图(pre-image和post-image)支持更多的DDL(包括create/createIndexes/modify/shardCollection)性能提升:聚合框架上pipeline中stage的下推以及优化change event新增了wallTime字段,时间戳也能支持多种转换和展示算子( t o D a t e / toDate/ toDate/tsSeconds/tsIncrement)以方便业务消费

  • 不需要事务,建议选择3.4

  • 需要简单事务,建议选择4.0

  • 需要分布式事务或其他必要功能,建议选择4.2

  • 学习用途,建议选择最新版本

  • 安装包使用tgz;

  • mongodb6.0之后移除了mongo,需要单独下载mongosh,进行登录
    官网:https://www.mongodb.com/try/download/shell

  • 下载命令:

wget https://downloads.mongodb.com/compass/mongodb-mongosh-shared-openssl11-1.10.1.x86_64.rpm

2、解压存放

  • mongodb解压安装
mkdir /home/lib/mongodb
tar -zxvf mongodb-linux-x86_64-rhel70-6.0.7.tgz
mv mongodb-linux-x86_64-rhel70-6.0.7 /home/lib/mongodb/mongodb-6.0.7
  • mongodbsh解压安装
tar -zxvf mongosh-1.10.1-linux-x64.tgz
mv mongosh-1.10.1-linux-x64 /home/lib/mongodb/mongosh-1.10.1

3、新建相关文件夹

cd /home/lib/mongodb
mkdir data logs etc

4、添加系统路径快捷路径

vim /etc/profile
  • 在文件中添加以下内容:
export MONGODB_HOME=/home/lib/mongodb/mongodb-6.0.7
export MONGODBSH_HOME=/home/lib/mongodb/mongosh-1.10.1
export MONGODB_CONF=/home/lib/mongodb/etc/mongodb.conf

PATH=$PATH:$MYSQL_HOME/bin:$MAVEN_HOME/bin:$MONGODB_HOME/bin:$MONGODBSH_HOME/bin

#保存配置
source /etc/profile

二、配置文件

1、配置mongodb.conf文件

cd /home/lib/mongodb/etc
vim mongodb.conf
  • 在配置文件中添加以下内容:
#指定数据库路径
dbpath=/home/lib/mongodb/data
#指定MongoDB日志文件
logpath=/home/lib/mongodb/logs/mongodb.log
# 使用追加的方式写日志
logappend=true
#端口号
port=27017 
#方便外网访问,外网所有ip都可以访问,不要写成固定的linux的ip
bind_ip=0.0.0.0
#以守护进程的方式运行MongoDB,创建服务器进程
fork=true
#启用用户验证
#auth=true 
#bind_ip=0.0.0.0 #绑定服务IP,若绑定127.0.0.1,则只能本机访问,不指定则默认本地所有IP
#配置写入操作是否日志记录,关闭提高性能但降低容灾能力
journal=false

三、启动操作

1、启动mongodb

mongod --config $MONGODB_CONF

2、进入操作DB,增加权限

mongosh
  • 在mongosh中执行以下命令:
#创建超级权限
use admin
db.createUser({user:'root',pwd:'root',roles:[{"role":"root","db":"admin"}]});
db.auth('root', 'root');
#关闭db
db.shutdownServer();
  • 修改mongodb.conf文件
cd /home/lib/mongodb/etc
vim mongodb.conf
  • 将auth的注释取消:
#启用用户验证
auth=true 

3、从新启动mongodb验证

mongod --config $MONGODB_CONF
mongosh
  • 在mongosh中验证操作DB是否成功:
Current Mongosh Log ID:	649e627f94959ffd4d74aa87
Connecting to:		mongodb://127.0.0.1:27017/?directConnection=true&serverSelectionTimeoutMS=2000&appName=mongosh+1.10.1
Using MongoDB:		6.0.7
Using Mongosh:		1.10.1

For mongosh info see: https://docs.mongodb.com/mongodb-shell/

test> use admin
switched to db admin
admin> show dbs;
MongoServerError: command listDatabases requires authentication
admin> db.auth('root','root');
{ ok: 1 }
admin> show dbs;
admin   132.00 KiB
config   72.00 KiB
local    72.00 KiB
admin> 

四、设置开机启动

1、创建启动脚本

  • 在终端中执行以下命令,创建启动脚本文件 /etc/rc.d/init.d/mongod 并编辑它:
vim /etc/rc.d/init.d/mongod
  • 将以下内容复制到文件中,并保存:
start() {  
/home/lib/mongodb/mongodb-6.0.7/bin/mongod --config /home/lib/mongodb/etc/mongodb.conf
}  
  
stop() {  
/home/lib/mongodb/mongodb-6.0.7/bin/mongod --config /home/lib/mongodb/etc/mongodb.conf --shutdown
}  
case "$1" in  
  start)  
 start  
 ;;  
  
stop)  
 stop  
 ;;  
  
restart)  
 stop  
 start  
 ;;  
  *)  
 echo  
"$Usage: $0 {start|stop|restart}"  
 exit 1  
esac

注意替换启动脚本中的路径为实际路径。

2、修改启动脚本权限

  • 在终端中执行以下命令,修改启动脚本的权限:
chmod +x /etc/rc.d/init.d/mongod

3、启动服务

  • 在终端中执行以下命令,启动 MongoDB 服务:
service mongod start

五、其他

1、检查端口号开启情况

可以使用以下命令来检查端口号的开启情况:

  • 查看开启的端口号:
iptables -L -n
  • 查看端口使用情况:
lsof -i:27017
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值