1环境准备
准备虚拟机 ip: 192.168.1.253
hostnamectl set-hostname mongo
2下载安装包
点击 Select package 选择需要下载的版本,点击下载
上面下载完整链接
https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-6.0.12.tgz
3上传安装包
[root@mongo ~]# ll
总用量 70912
-rw-------. 1 root root 1257 3月 29 2023 anaconda-ks.cfg
-rw-r--r-- 1 root root 72607608 12月 7 15:04 mongodb-linux-x86_64-rhel70-6.0.12.tgz
4解压安装包
[root@mongo ~]# tar -xf mongodb-linux-x86_64-rhel70-6.0.12.tgz -C /usr/local/
[root@mongo ~]# mv /usr/local/mongodb-linux-x86_64-rhel70-6.0.12/ /usr/local/mongodb-6.0.12
[root@mongo ~]# ll /usr/local/mongodb-6.0.12/
总用量 136
drwxr-xr-x 2 root root 57 12月 7 15:05 bin
-rw-r--r-- 1 root root 30608 11月 17 01:08 LICENSE-Community.txt
-rw-r--r-- 1 root root 16726 11月 17 01:08 MPL-2
-rw-r--r-- 1 root root 1977 11月 17 01:08 README
-rw-r--r-- 1 root root 77913 11月 17 01:08 THIRD-PARTY-NOTICES
[root@mongo ~]# ll /usr/local/mongodb-6.0.12/bin/
总用量 238836
-rwxr-xr-x 1 root root 15205 11月 17 01:08 install_compass
-rwxr-xr-x 1 root root 141267016 11月 17 02:17 mongod
-rwxr-xr-x 1 root root 103278472 11月 17 01:48 mongos
说明:
- mongod是MongoDB数据库服务器的守护进程。它负责存储和管理数据,处理各种数据库操作请求,并提供对数据的访问。mongod进程负责将数据写入磁盘和从磁盘读取数据,并处理来自客户端的查询请求。mongod是MongoDB的存储引擎,它将数据存储在磁盘上,并提供高性能的读写操作。作为MongoDB的数据库服务器,mongod可以独立运行,也可以作为MongoDB副本集或分片集群的一部分。启动MongoDB的实例。
- mongos 是MongoDB的分片路由器。它的主要功能是将查询请求路由到相应的分片服务器上,并将结果合并返回给客户端。mongos提供了一个单一的入口点,使得客户端可以透明地访问MongoDB分片集群。mongos进程通常运行在应用程序服务器上,并与客户端应用程序进行交互。它将查询请求解析为MongoDB的内部命令,并将它们发送到适当的分片服务器执行。mongos还负责处理分片集群中的优雅迁移、负载均衡和错误处理。启动MongoDB的分片集群中的路由器进程。
- 总的来说,mongod是负责存储和管理数据的存储引擎,而mongos则是负责将查询请求路由到相应的分片服务器上的分片路由器。
5配置目录结构
[root@mongo ~]# mkdir -p /u01/apps/mongodb/{data,log,conf}
#创建日志文件
[root@mongo ~]# touch /u01/apps/mongodb/log/mongodb.log
6创建配置文件
[root@mongo ~]# cat > /u01/apps/mongodb/conf/mongodb.conf << 'EOF'
systemLog:
# MongoDB发送所有日志输出的目标指定为文件
# The path of the log file to which mongod or mongos should send all diagnostic logging information
destination: file
# mongod或mongos应向其发送所有诊断日志记录信息的日志文件的路径
path: "/u01/apps/mongodb/log/mongodb.log"
# 当mongos或mongod实例重新启动时,mongos或mongod会将新条目附加到现有日志文件的末尾。
logAppend: true
storage:
# mongod实例存储其数据的目录。storage.dbPath设置仅适用于mongod。
# The directory where the mongod instance stores its data.Default Value is "/data/db".
dbPath: "/u01/apps/mongodb/data/"
journal:
#启用或禁用持久性日志以确保数据文件保持有效和可恢复。
enabled: true
processManagement:
#启用在后台运行mongos或mongod进程的守护进程模式。
fork: true
net:
# 服务实例绑定的IP,默认是localhost(多个ip用逗号分隔)
bindIp: 0.0.0.0
# bindIp
#绑定的端口,默认是27017
port: 27017
EOF
7配置环境变量
[root@mongo ~]# cat >> /etc/profile << 'EOF'
#set for mongoDB
export MONGODB_HOME=/usr/local/mongodb-6.0.12
export PATH=$PATH:$MONGODB_HOME/bin
EOF
#加载配置
[root@mongo ~]# source /etc/profile
8启动服务
[root@mongo ~]# mongod -f /u01/apps/mongodb/conf/mongodb.conf
about to fork child process, waiting until server is ready for connections.
forked process: 1711
child process started successfully, parent exiting
9登录并使用
#此版本解压后bin目录下没有 mongo 命令,我们下载个较早的版本安装包,将mongo 文件复制到bin目录下
[root@mongo ~]# wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-5.0.23.tgz
[root@mongo ~]# tar -xf mongodb-linux-x86_64-rhel70-5.0.23.tgz
[root@mongo ~]# cp mongodb-linux-x86_64-rhel70-5.0.23/bin/mongo /usr/local/mongodb-6.0.12/bin/
#登录
[root@mongo ~]# mongo --port 27017
>
或者
[root@mongo ~]# mongo 192.168.1.253:27017
>
> use admin
switched to db admin