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

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

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

修改配置文件

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

  1. 打开配置文件

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

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

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

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

    保存文件并退出编辑器。

  4. 重启MongoDB服务

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

    bash 复制代码
    sudo systemctl restart mongod

验证

使用netstat或ss命令确认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. 打开配置文件

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

    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

验证

使用netstat或lsof命令确认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实例正常运行在指定的端口上。

相关推荐
余槐i7 小时前
PostgreSQL 函数索引报错 must be immutable:3种绕法与代价
数据库·后端·sql·postgresql·性能优化
需要8268 小时前
Spring Bean 生命周期:从实例化到销毁的完整钩子
java·后端·spring
凤山老林9 小时前
Spring Boot 接入国密 SM2/SM3/SM4 的一些实践记录
spring boot·后端·python
伯恩bourne10 小时前
Spring Boot Bean 注册的两种方式:@Component 家族 vs @Configuration + @Bean
java·spring boot·后端
张彦峰ZYF10 小时前
停顿短不等于延迟低:G1、ZGC 与低延迟服务的目标分野、代价账本与选型标定
后端·回收暂停、应用停止总时长·到达安全点、分配停滞·屏障吃吞吐、并发线程吃核心·并发窗口吃堆余量·分区式靠挑回收集兑现目标·染色指针式不支持压缩引用
pride.li10 小时前
第03章 Python 教程-基础语法:注释与变量
服务器·前端·后端·python·算法·计算机视觉
upala11 小时前
【仓颉语言入门 · 第二篇 第 6 课】
后端
罗丹丹Luna11 小时前
移动端显示“已提交”以后:SAP 与低代码集成该怎样暴露真实状态
后端·架构
码事漫谈11 小时前
因为太想讨好你,所以AI会骗你
后端
吴凡wudianmei11 小时前
每调一次模型都花钱?如何用工程手段把调用压到最少?
前端·后端·架构