dump.rb
#!/usr/bin/env ruby
require 'mysql2'
require 'csv'
table = "table_name"
columns = "*"
host = "localhost"
username = "user"
password = "password"
database = "database"
client = Mysql2::Client.new(
host: host,
username: username,
password: password,
database: database,
stream: true,
cache_rows: false,
)
results = client.query("select #{columns} from #{table}")
CSV.open("#{table}.csv", "w") do |csv|
csv << results.fields
results.each do |row|
csv << row.values
end
end
- stream: true, cache_rows: false あたりが無いとバッファリングしてメモリがあふれる
- ec2上でやったら時間がUTCになってた