MongoDB(14)如何修改MongoDB的默认端口?

修改MongoDB的默认端口(27017)可以通过编辑配置文件或在启动命令中指定自定义端口号。以下是详细的步骤,分别针对Ubuntu(及其他基于systemd的Linux系统)、Windows和macOS三种操作系统。

在Ubuntu(及其他基于systemd的Linux系统)上

修改配置文件

MongoDB的默认配置文件通常位于 /etc/mongod.conf。可以通过编辑该文件来修改默认端口。

  1. 打开配置文件

    使用文本编辑器(如nanovim)打开配置文件:

    bash 复制代码
    sudo nano /etc/mongod.conf
  2. 修改端口

    找到net部分,修改port为你想要的端口号,例如:

    yaml 复制代码
    net:
      port: 28017
  3. 保存并退出

    保存文件并退出编辑器。

  4. 重启MongoDB服务

    使更改生效,重启MongoDB服务:

    bash 复制代码
    sudo systemctl restart mongod

验证

使用netstatss命令确认MongoDB是否监听新的端口:

bash 复制代码
sudo netstat -plnt | grep 28017

bash 复制代码
sudo ss -plnt | grep 28017

在Windows上

修改配置文件

MongoDB的默认配置文件通常位于 C:\Program Files\MongoDB\Server\<version>\bin\mongod.cfg。可以通过编辑该文件来修改默认端口。

  1. 打开配置文件

    使用文本编辑器(如Notepad或Notepad++)打开配置文件:

    cmd 复制代码
    notepad "C:\Program Files\MongoDB\Server\<version>\bin\mongod.cfg"
  2. 修改端口

    找到net部分,修改port为你想要的端口号,例如:

    yaml 复制代码
    net:
      port: 28017
  3. 保存并退出

    保存文件并退出编辑器。

  4. 重启MongoDB服务

    使更改生效,重启MongoDB服务:

    cmd 复制代码
    net stop MongoDB
    net start MongoDB

验证

使用netstat命令确认MongoDB是否监听新的端口:

cmd 复制代码
netstat -ano | findstr :28017

在macOS上

修改配置文件

MongoDB的默认配置文件通常位于 /usr/local/etc/mongod.conf。可以通过编辑该文件来修改默认端口。

  1. 打开配置文件

    使用文本编辑器(如nanovim)打开配置文件:

    bash 复制代码
    sudo nano /usr/local/etc/mongod.conf
  2. 修改端口

    找到net部分,修改port为你想要的端口号,例如:

    yaml 复制代码
    net:
      port: 28017
  3. 保存并退出

    保存文件并退出编辑器。

  4. 重启MongoDB服务

    使更改生效,重启MongoDB服务:

    bash 复制代码
    brew services restart mongodb/brew/mongodb-community

验证

使用netstatlsof命令确认MongoDB是否监听新的端口:

bash 复制代码
netstat -an | grep 28017

bash 复制代码
sudo lsof -i :28017

使用命令行参数修改端口

除了通过配置文件修改端口,还可以直接通过命令行参数指定服务端口启动MongoDB实例。

启动MongoDB实例

使用自定义端口启动MongoDB实例:

bash 复制代码
mongod --port 28017 --dbpath /path/to/your/db --logpath /path/to/your/log --fork

示例

创建一个新的存储路径 /custom/data/mongodb 并使用新的端口 28017 启动MongoDB实例:

bash 复制代码
sudo mkdir -p /custom/data/mongodb
sudo chown -R mongodb:mongodb /custom/data/mongodb

mongod --port 28017 --dbpath /custom/data/mongodb --logpath /custom/data/mongodb/mongod.log --fork

使用Node.js连接到修改后的端口

以下是使用Node.js和MongoDB驱动程序连接到修改后的端口 28017 的示例代码:

  1. 安装MongoDB Node.js驱动

    bash 复制代码
    npm install mongodb
  2. 连接到MongoDB并执行操作

    javascript 复制代码
    const { MongoClient } = require('mongodb');
    
    async function main() {
        const uri = "mongodb://localhost:28017";
        const client = new MongoClient(uri, { useUnifiedTopology: true });
    
        try {
            await client.connect();
            console.log("Connected to MongoDB on custom port 28017");
    
            const db = client.db('exampledb');
            const collection = db.collection('examplecoll');
    
            // 插入数据
            const insertResult = await collection.insertOne({ name: "Alice", age: 30 });
            console.log('Insert Result:', insertResult);
    
            // 查询数据
            const findResult = await collection.findOne({ name: "Alice" });
            console.log('Find Result:', findResult);
    
        } finally {
            await client.close();
        }
    }
    
    main().catch(console.error);

总结

修改MongoDB的默认端口可以通过以下步骤:

  1. 修改配置文件 :找到net部分,修改port为你想要的端口号。
  2. 重启MongoDB服务:使更改生效,重启MongoDB服务。
  3. 验证:使用系统命令确认MongoDB是否监听新的端口。

这些步骤和代码示例可以帮助你在不同操作系统上配置和验证MongoDB的端口设置,确保MongoDB实例正常运行在指定的端口上。

相关推荐
星辰徐哥9 小时前
Spring Boot 微服务架构设计与实现
spring boot·后端·微服务
星辰徐哥9 小时前
Spring Boot 数据导入导出与报表生成
spring boot·后端·ui
明夜之约9 小时前
Spring Boot 自动装配源码
java·spring boot·后端
Leaton Lee9 小时前
Spring Boot分层架构详解:从Controller到Service再到Mapper的完整流程
java·spring boot·后端·架构
Micro麦可乐9 小时前
Spring Boot 实战:从零设计一个短链系统(含完整代码与数据库设计)
数据库·spring boot·后端·哈希算法·雪花算法·短链系统
Jinkxs9 小时前
Resilience4j- 与 Spring Boot 快速集成:自动配置与基础注解使用
java·spring boot·后端
毕设源码_郑学姐9 小时前
计算机毕业设计springboot网络相册设计与实现 基于Spring Boot框架的在线相册管理系统开发与应用 Spring Boot驱动的网络影集设计与实践
spring boot·后端·课程设计
辣机小司9 小时前
【踩坑记录:Spring Boot 配置文件读取值不一致?警惕 YAML 的“八进制陷阱”与 SnakeYAML 版本之谜】
java·spring boot·后端·yaml·踩坑记录
码农阿豪9 小时前
从零到一:Spring Boot快速接入金仓数据库实战
数据库·spring boot·后端
追逐时光者10 小时前
一个基于 .NET 与 Avalonia 构建、面向 TrinityCore 的开源 WoW 数据库编辑器
后端·.net