头歌解答 1-1 初识 MongoDB

第1关:启动 MongoDB

编程要求

根据提示,在右侧命令行(Linux 环境)进行操作:

在 /data 路径下创建文件夹 mydb 来存放 MongoDB 服务的数据;

在 /logs 路径下创建文件夹 mymongo 存放日志文件 mongod.log;

在 /etc/mymongod 路径下新建配置文件 mongod.conf,使用配置文件启动 MongoDB,连接端口号设置为 27020;

使用命令通过配置文件启动服务。

作答

cd /data
mkdir db_test
mkdir /logs
cd /logs
mkdir mongo
mkdir /etc/mongod
cd /etc/mongod
vim mongod.conf
## 跳转到vim编辑器
【按 “i” 键】
## 输入配置文件内容
port=27020
dbpath=/data/db_test
logpath=/logs/mongo/mongod.log
logappend=true
fork=true
【按 “ESC” 键】
【输入 “:wq”】
【回车】
## 退出vim编辑器
mongod -f /etc/mongod/mongod.conf
mongo --port 27020

第2关:启动 MongoDB 多实例

编程要求

根据提示,在右侧命令行(Linux 环境)进行操作:

在 /data 路径下创建文件夹 mydb1 和 mydb2 来存放两组 MongoDB 服务的数据;

在 /logs 路径下创建文件夹 mymongo1 和 mymongo2 存放日志文件;

在 /etc/mymongod 路径下新建配置文件 mongod1.conf 和 mongod2.conf,使用配置文件启动 MongoDB,连接端口号分别设置为 27021和27022;

使用命令通过配置文件启动两组服务。

作答

cd /data
mkdir mydb1 mydb2
mkdir /logs
cd /logs
mkdir mymongo1 mymongo2
mkdir /etc/mymongod
cd /etc/mymongod
vim mongod1.conf
## 跳转到vim编辑器
【按 “i” 键】
## 输入配置文件内容
port=27021
dbpath=/data/mydb1
logpath=/logs/mymongo1/mongod.log
logappend=true
fork=true
【按 “ESC” 键】
【输入 “:wq”】
【回车】
## 退出vim编辑器
vim mongod2.conf
## 跳转到vim编辑器
【按 “i” 键】
## 输入配置文件内容
port=27022
dbpath=/data/mydb2
Logpath=/1logs/mymongo2/mongod.log
Logappend=true
fork=true
【按 “ESC” 键】
【输入 “:wq”】
【回车】
## 退出vim编辑器
mongod -f /etc/mymongod/mongod1.conf
mongod -f /etc/mymongod/mongod2.conf
mongo --port 27021
exit
mongo --port 27022

第3关:退出客户端和关闭 MongoDB 服务

编程要求

根据提示,在右侧命令行(Linux 环境)进行操作:

关闭端口为 27017(默认端口)的 MongoDB 服务.

作答

这里输入 ps -ef | grep mongo 后显示的进程以及编号可能不一样,总之照做,除了最后这个全部使用 kill 命令关闭

f96625c7d73eddf7fd8d892011532dc

### 如何配置和启动 MongoDB 多实例 #### 配置多个 MongoDB 实例 为了在同一台服务器上运行多个 MongoDB 实例,需要为每个实例创建独立的配置文件并指定不同的端口和服务名称。以下是具体操作方法: 对于每一个新的 MongoDB 实例,在主机上编辑对应的配置文件路径下的 `mongodb.conf` 文件[^1]。 确保不同实例之间的数据目录、日志文件以及监听端口号不冲突。例如第一个实例可以使用默认设置,而第二个实例则需修改如下参数: ```properties dbpath=/var/lib/mongodb2 # 数据存储位置 logpath=/var/log/mongodb2.log # 日志记录位置 port=27018 # 监听端口 ``` 完成上述更改之后保存退出编辑器。 #### 设置权限与初始化 赋予相应用户对新配置文件及其关联资源读写的权限: ```bash sudo chown -R mongo:mongo /etc/new_mongodb_instance.conf ``` 此命令假设所有 MongoDB 的配置都放置于 `/etc/` 下,并且已经存在名为 `new_mongodb_instance.conf` 的新实例配置文件[^3]。 #### 启动额外的 MongoDB 实例 通过执行特定命令来启动另一个 MongoDB 实例。如果采用服务管理工具如 systemd,则可以通过定义一个新的 service unit 来实现这一点;或者直接调用 mongod 可执行程序并传入自定义配置文件作为参数: ```bash /apps/mongodb/bin/mongod --config /etc/new_mongodb_instance.conf & ``` 这将在后台模式下启动带有给定配置的新 MongoDB 实例。 另外一种方式是在某些 Linux 发行版中利用 init script 或者 systemctl 命令来进行控制: ```bash /etc/init.d/mongodb new_instance_name start ``` 这里的 `new_instance_name` 应该替换为你想要用来区分这个特殊实例的名字[^4]。 需要注意的是,在版本高于等于 3.4 的情况下,当涉及到分片集群中的 config server 组件时,官方建议将其部署成副本集形式以提高可用性和可靠性[^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值