以下设置:raspmal,外部数据库上的ruby脚本(与ssh和msyql2连接)。 问题:网关和端口生成是正常的,但尝试建立一个mysql连接每次都失败,“在读取初始通信数据包时失去与MySQL服务器的连接',系统错误:0”。 Stackoverflowing和谷歌提示没有帮助到这一点,所以我在这里。我的代码如下:
gateway = Net::SSH::Gateway.new('external_server', 'username', {:password => 'password', :port => '22'})
port = gateway.open("127.0.0.1", 3306, 3307)
#if gateway and port generation successful
database = Mysql2::Client.new(:host => "127.0.0.1", :port => port, :username => 'user_extern', :password => 'password_extern', :database => 'database_extern')
#do some stuff with database.query("")
database.close
gateway.close(port)
并且“Mysql2 :: Client.new”因描述的错误而失败。 已经尝试过: - 重新开始 - 取消绑定127.0.0.1 - 绑定到0.0.0.0 - 拿了“localhost” - 将hosts.allow更改为ALL
也许你可以在我忽略的那个列表中添加一些内容,或者我应该尝试一下? (注意:如果为了可读性而删除了/ else和异常处理)
提前致谢! / Devyn
答案 0 :(得分:0)
好的,我终于有了解决方案。编码还可以,其他提供商工作得很好。所以并不总是错误的代码。最后,其他人应该受到指责! 祝你今天愉快, Devyn