require 'rubygems'
require 'active_record'
require 'mysql2'
require 'net/ssh/gateway'
gateway = Net::SSH::Gateway.new(
'remotehost.com',
'username'
)
# opens a new port on the established gateway
port = gateway.open('127.0.0.1', 3306, 3307)
# use cmd line to verify connection over ssh tunnel
# mysql -u root -h 127.0.0.1 --port 3307
client = Mysql2::Client.new(
host: "127.0.0.1",
username: 'root',
password: '',
database: 'app_development',
port: port
)
results = client.query("SELECT * FROM projects")
results.each do |row|
p row
end
1. [代碼][Ruby]代碼
1 | require "mysql" |
2 | dbc
= Mysql.real_connect( '127.0.0.1' , 'root' , '123' , 'test' ) |
3 | res
= dbc.query( 'select * from users' ) |
4 | while row
= res.fetch_row do |
5 | puts "#{row[0]},#{row[1]}" |
6 | end |
7 |
8 | 這個是ruby
用mysqlianjie數據庫 |
2. [代碼]mysql2連接
1 | require 'mysql2' |
2 | client
= Mysql2::Client. new ( :host => "主機地址" , :username => "用戶名" , :password => "密碼" , :database => "數據庫" ) |
3 | results
= client.query( "select * from 數據表" ); |
4 | results. each do |hash| |
5 | puts
hash.map { |k,v| "#{k} = #{v}" }.join( ", " ) |
6 | end |
client.close
gateway.shutdown!
class Company < ActiveRecord::Base
establish_connection(
:adapter => "mysql2",
:host => "127.0.0.1",
:username => "root",
:password => "",
:database => "app_development",
:port => 3307 # have to specify the forwarded port for this example due to class scope
)
end
puts Company.all.size