gpt4 book ai didi

mysql - Node.js 通过 ssh 连接

转载 作者:可可西里 更新时间:2023-11-01 07:45:58 31 4
gpt4 key购买 nike

我有一个可用的 node.js 服务器,但需要为 ssh 连接设置:

var mysql = require('mysql')
var io = require('socket.io').listen(3000)
var db = mysql.createConnection({

host: 'hostname',
user: 'username',
password: '12345',
database: '12345',
port: 3306,
socket: '/var/run/mysqld/mysqld.sock'
})

db.connect(function(err){
if (err) console.log(err)
})

我知道有用于此目的的 ssh npm 库,但是可用的选项(ssh2、node-sshclient 等)似乎处理了可能使事情过于复杂的相当复杂的功能。我正在寻找通过 ssh 连接到我的 mysql 数据库的最简单方法。实现这一目标的最佳方法是什么?

最佳答案

如果您运行的是 linux/unix 系统,请执行以下操作:

通过 ssh 连接到您的 mysql 服务器,并通过此 ssh 隧道代理 mysql 端口(默认为 3306)。

工作原理如下:

1 输入 screen(启动一个屏幕 session ,即使 shell 关闭也是如此)。

2 在屏幕外壳中输入:

ssh -L 3306:127.0.0.1:3306 your_servers_domain_or_ip -lyour_login_name

3 输入您的 ssh 密码/或使用 PKI 身份验证以避免手动步骤

4 完成...现在可以连接 MySQL,就像它与您的应用程序安装在同一台机器上一样。

从 node.js 连接到 MySQL,如下所示:

var db = mysql.createConnection({
host: '127.0.0.1', // Important to connect to localhost after connecting via ssh in screen
user: 'username',
password: '12345',
database: '12345',
port: 3306
});

关于mysql - Node.js 通过 ssh 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24687932/

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