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