【问题标题】:MongoDB port changes on server restart服务器重启时 MongoDB 端口更改
【发布时间】:2018-01-26 12:24:42
【问题描述】:

我使用 mongodb compass 通过 ssh 连接到 mongodb,但是发现数据库端口是 29694,我不知道它来自哪里。

在 node.js 中,我只能通过该端口中的 ssh 连接到数据库。

我还发现重新启动服务器时端口正在改变。

如屏幕截图所示:

我用来连接数据库的代码:

var config = {
    username: 'root',
    host:'118.XXX.XXX.X',
    port:22,
    dstHost: '118.XXX.XXX.X',
    dstPort: 27017,
    passphrase: 'XXXX'
};

(async ()=>{
    try {
        await tunnel(config)
        await mongoose.connect('mongodb://localhost:29694/xxxxx')
    }
    catch(e){
        console.log(`${e}`)
    }
    await console.log('connected')
})()

我真的才刚刚开始编程。不知道哪里出了问题。

【问题讨论】:

  • 那有什么问题?
  • 我不知道那个端口是从哪里来的,当我重新启动服务器时它会改变。
  • 你应该在问题中提到端口在重启时改变的部分,奇怪的端口不是一个大问题,但端口改变是
  • 啊,对不起。我在问题中添加了一些附加信息。

标签: mongodb


【解决方案1】:

我想通了。对不起,我缺乏一些基本的 SSH 知识。

正确的代码是:

var config = {
    username: 'root',
    password: 'xxxx',
    host:'118.xxx.xxx.xxx',
    port:22,
    dstHost: '127.0.0.1',
    dstPort: 27017,
    localHost:'127.0.0.1',
    localPort:27000
};

(async ()=>{
    try {
        await tunnel(config)
        await mongoose.connect('mongodb://localhost:27000/xxxx')
    }
    catch(e){
        console.log(`${e}`)
    }
})()

我发现this article对我理解ssh端口转发很有帮助。

【讨论】:

    猜你喜欢
    • 2011-11-07
    • 1970-01-01
    • 1970-01-01
    • 2021-12-01
    • 2015-06-18
    • 1970-01-01
    • 1970-01-01
    • 2011-01-24
    • 1970-01-01
    相关资源
    最近更新 更多