如何使用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#代码。可以改变游戏规则吗?

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

Main server settings (orange lines indicates provided data)

Advanced tab -> 'Use compression protocol' and 'SSH compression level' are tricky

Remote management tab - I don't know if it's relevant for my case

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

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)