如何在Visual Studio中配置SSH隧道连接MySQL数据库
Visual Studio配置MySQL SSH隧道连接方案
一、Visual Studio 2022(仅NuGet包方式)
VS2022无图形化配置界面,需通过代码结合SSH隧道实现连接,步骤如下:
- 安装必要NuGet包
安装MySqlConnector(官方推荐的MySQL连接库)和SSH.NET(用于建立SSH隧道) - 代码实现SSH隧道+MySQL连接
示例代码:
注意:本地端口(示例中3307)需确保未被占用,可自行修改。using Renci.SshNet; using MySqlConnector; // SSH服务器配置 var sshHost = "你的SSH服务器IP/域名"; var sshPort = 22; var sshUsername = "SSH用户名"; var sshPassword = "SSH密码"; // 也可使用密钥认证替代密码 // 本地端口转发:将本地端口映射到远程MySQL的3306端口 using var sshClient = new SshClient(sshHost, sshPort, sshUsername, sshPassword); sshClient.Connect(); var localForwardPort = sshClient.AddForwardedPortLocal("127.0.0.1", 3307, "127.0.0.1", 3306); localForwardPort.Start(); // MySQL连接字符串:连接本地转发的端口 var connStr = "server=127.0.0.1;port=3307;database=你的数据库名;user=MySQL用户名;password=MySQL密码;"; using var mysqlConn = new MySqlConnection(connStr); mysqlConn.Open(); // 执行数据库操作... // 关闭资源 mysqlConn.Close(); localForwardPort.Stop(); sshClient.Disconnect();
二、Visual Studio 2019(手动建隧道+图形化连接)
VS2019的「添加连接」窗口不支持直接配置SSH隧道,需先手动建立隧道,再常规连接:
- 手动建立SSH隧道(以命令行为例)
打开PowerShell或CMD,执行命令:
输入SSH密码后,保持终端窗口运行,隧道持续生效。ssh -L 3307:127.0.0.1:3306 ssh用户名@ssh服务器IP -p 22 - 在VS2019中添加连接
打开「添加连接」窗口,选择MySQL数据源:- 服务器地址填
127.0.0.1,端口填3307(与隧道本地端口一致) - 填入MySQL的用户名、密码和目标数据库名,点击「测试连接」完成配置
- 服务器地址填
额外提示
- 若用密钥认证SSH,代码中可替换为
new PrivateKeyFile("密钥文件路径");命令行则添加-i 密钥文件路径参数。 - 手动建隧道时,不要关闭终端窗口;代码方式需保持SSH客户端连接状态直至数据库操作完成。
内容的提问来源于stack exchange,提问作者CSAPawn
相关产品推荐
相关产品推荐

