在本地主机上创建两个单独的MongoDB实例
本文关键字:两个 单独 实例 MongoDB 主机 创建 | 更新日期: 2023-09-27 18:34:39
我正在尝试找到一种方法来拥有两个单独的本地托管的mongoDB实例,以便其中一个中的数据库不会影响另一个中的数据库。我尝试使用不同的端口,但这仍然会导致一个数据库的变化影响另一个数据库,但两者都需要在本地托管。我在 mongodb.org 上看到我应该更改配置文件,但我不确定它在哪里或如何准确编辑它(是的,我知道它将是文本或 xml 文件的某个版本。如果您有愿意发布的示例,我将不胜感激。我正在使用robomongo在Windows机器上工作,并使用c# 4.0 restful服务访问数据库
编辑:我还希望能够同时打开两个连接。
您只需要确保每个实例都有自己的数据目录、端口和日志文件。
- 使用
--dbpath
设置数据目录 - 使用
--port
设置端口 - 使用
--logpath
设置日志位置
在启动该过程之前,请确保您指定的所有目录都已存在。例如,Mongod 将抛出错误并退出,如果找不到您在 --dbpath
中指定的文件夹。
如果您使用的是 linux 机器,则可以使用 --fork
从单个命令会话启动多个 mongod 进程。Windows 使用 start
命令执行此操作。假设mongod.exe
在你的道路上:
start mongod.exe --logpath C:'logs'log1.log --dbpath C:'data'db1 --port 27017
start mongod.exe --logpath C:'logs'log2.log --dbpath C:'data'db2 --port 27018
start mongod.exe --logpath C:'logs'log3.log --dbpath C:'data'db3 --port 27019
其中每个命令都将生成一个新的命令窗口,该窗口使用指定的参数运行mongod
进程。如果要将MongoDB作为Windows服务运行,请查看文档。
您甚至不需要更改配置文件(这仅适用于在默认端口上作为服务运行的mongod。你可以简单地从命令行使用配置参数启动额外的mongod实例(我不使用windows,但它应该与linux非常相似(
> mongod --logpath "log/foo.log" --dbpath data/foo --port 27020 --fork
> mongod --logpath "log/bar.log" --dbpath data/bar --port 27021 --fork