c# - 如何使用 SSH 配置 MySql NET 连接器(在 MySql Workbench 中具有工作连接)
问题描述
编辑:找到解决方案 - 详情见下文。
我在 MySql Workbench 中有一个配置好的连接,它工作正常,但是当我尝试在 Visual Studio 中使用 C# 连接时,连接超时。我增加了它(只是为了确保它不是它),但没有成功。
按照文档,我使用这样的代码进行测试:
var builder = new MySqlConnectionStringBuilder();
builder.UserID = userName;
builder.Password = password;
builder.Server = ipAddress;
builder.SshHostName = sshIpAddress;
builder.SshUserName = sshUserName;
builder.SshPassword = sshPassword;
builder.PersistSecurityInfo = true;
builder.ConnectionTimeout = 60;
builder.UseCompression = true;
using (var connection = new MySqlConnection(builder.ConnectionString))
{
connection.Open();
connection.Close();
}
我错过了什么?我检查了另一个不需要 SSH 的数据库,它工作正常,所以我确定提供者没问题。事实上(从其中一张截图中)我不知道如何将“使用压缩协议”和“ssh 压缩级别 = 0”转换为 C# 代码。它可以改变游戏规则吗?
以下是如何配置工作台的快照:
编辑:问题已通过使用 PuTTy 并为隧道设置 SSH IP 和为预期连接设置 DB IP 解决。然后在 Visual Studio 中我可以使用 MySqlConnection。明显的区别是现在我必须提供“localhost”作为数据库服务器 IP 并在没有 SSH 的情况下使用它,因此只需要数据库的用户名和密码。
解决方案
推荐阅读
- google-cloud-platform - 如何使用 Google Cloud Deployment Manager 将 IAM 策略绑定添加到服务帐户?
- javascript - Apollo GraphQL: use case for merge function in type policy?
- sql - 使用 Sybase ASA11 的案例语句更新记录
- android - "java.lang.RuntimeException: Unable to instantiate activity " The app does not start and shows a blank screen
- java - 我们如何使用包装类从方法中更改变量的值?
- android - 如何通过组名更改向量中路径的颜色
- salesforce - 我们可以在闪电社区的 LWC 之间使用闪电消息服务吗?
- maven - Maven / Nexus 完整性混淆
- node.js - NodeJS - 如何获取文件的最后打开日期属性?
- pyspark - VectorIndexer 或 OneHotEncoder 用于分类变量?