gpt4 book ai didi

mysql - Node.js 使用 tunnel-ssh 建立到远程 mysql 服务器的连接

转载 作者:行者123 更新时间:2023-11-28 23:33:26 25 4
gpt4 key购买 nike

我正在使用 tunnel-ssh 模块通过 node.js 建立到远程 mysql 数据库的连接。文档很差,我无法建立连接。这是代码片段:

var tunnel = require('tunnel-ssh')
var server = tunnel.tunnel(config.sshData, function(err, result) {console.log('connected'});

这是我的 sshData 对象。

config.sshData = {host : 'serverxyz.web-hosting.com', username : 'xyz', password : 'xyz',
srcPort: 3307, dstPort : 21098}

根据 namecheap documentation 的建议,dstPort21098 .

但是,每当我添加此代码段时,我都会遇到超时错误:

server.on('error', function(err) {});

我收到错误 server.on is not a function。远程连接在 puttySQLyog 上工作正常。任何关于如何建立成功连接的程序都会有很大帮助。谢谢!

更新

通过使用指定的正确端口并直接使用 ssh2 模块和给定的代码示例,使数据库正常工作 here

最佳答案

namecheap 文档存在误解。 21098 是 ssh 端口,而不是数据库正在监听的端口。为了使用非标准 ssh 端口,您需要显式指定 port 值,例如:

config.sshData = {
host: 'serverxyz.web-hosting.com',
port: 21098,
username: 'xyz',
password: 'xyz',
dstPort: 3306
};

然后您应该能够连接到 localhost:3306 以访问您的远程数据库。

关于mysql - Node.js 使用 tunnel-ssh 建立到远程 mysql 服务器的连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36593577/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com