首页 > 解决方案 > 如何使用 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# 代码。它可以改变游戏规则吗?

以下是如何配置工作台的快照:

主服务器设置(橙色线表示提供的数据)

高级选项卡->“使用压缩协议”和“SSH 压缩级别”很棘手

远程管理选项卡 - 我不知道它是否与我的案例相关

编辑:问题已通过使用 PuTTy 并为隧道设置 SSH IP 和为预期连接设置 DB IP 解决。然后在 Visual Studio 中我可以使用 MySqlConnection。明显的区别是现在我必须提供“localhost”作为数据库服务器 IP 并在没有 SSH 的情况下使用它,因此只需要数据库的用户名和密码。

标签: c#mysqlmysql-workbenchmysqlconnection

解决方案


推荐阅读