安装部署手册
一、下载安装
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