且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

如何在 ruby​​ 中创建 ssh 隧道,然后连接到远程主机上的 mysql 服务器

更新时间:2023-01-20 08:08:43

我能够使用 mysql2 gem 使其在没有 fork 的情况下工作

I was able to get this to work without a fork using the mysql2 gem

require 'rubygems'
require 'mysql2'
require 'net/ssh/gateway'

gateway = Net::SSH::Gateway.new(
  'remotehost.com',
  'username'
 )
port = gateway.open('127.0.0.1', 3306, 3307)

client = Mysql2::Client.new(
  host: "127.0.0.1",
  username: 'dbuser',
  password: 'dbpass',
  database: 'dbname',
  port: port
)
results = client.query("SELECT * FROM projects")
results.each do |row|
  p row
end
client.close