Mysql
 sql >> Datenbank >  >> RDS >> Mysql

So erstellen Sie einen SSH-Tunnel in Ruby und verbinden sich dann mit dem MySQL-Server auf dem Remote-Host

Ich konnte dies ohne einen Fork mit dem mysql2-Gem

zum Laufen bringen
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