class SimpleBackup::Utils::MySQL
Public Class Methods
new()
click to toggle source
# File lib/simple_backup/utils/mysql.rb, line 11 def initialize @host = 'localhost' @port = 3306 @user = nil @pass = nil end
Public Instance Methods
close()
click to toggle source
# File lib/simple_backup/utils/mysql.rb, line 28 def close @conn.close unless @conn.nil? end
dump(db, tables, dumpfile)
click to toggle source
# File lib/simple_backup/utils/mysql.rb, line 42 def dump(db, tables, dumpfile) cmd = "mysqldump --flush-logs --flush-privileges --order-by-primary --complete-insert -C -h #{@host} -u #{@user} -p#{@pass} #{db} #{tables.join(' ')} > #{dumpfile}" @@logger.debug "Running command: #{cmd}" `#{cmd}` end
host(value)
click to toggle source
# File lib/simple_backup/utils/mysql.rb, line 48 def host(value) @host = value end
open()
click to toggle source
# File lib/simple_backup/utils/mysql.rb, line 18 def open return nil unless @conn.nil? @conn = Mysql2::Client.new(host: @host, port: @port, username: @user, password: @pass) @existing_dbs = [] @conn.query("SHOW DATABASES").each do |row| @existing_dbs << row['Database'] end end
pass(value)
click to toggle source
# File lib/simple_backup/utils/mysql.rb, line 60 def pass(value) @pass = value end
port(value)
click to toggle source
# File lib/simple_backup/utils/mysql.rb, line 52 def port(value) @port = value end
scan_tables(db)
click to toggle source
# File lib/simple_backup/utils/mysql.rb, line 32 def scan_tables(db) return nil unless @existing_dbs.include?(db) tables = [] @conn.query("SHOW TABLES FROM `#{db}`").each do |row| tables << row["Tables_in_#{db}"] end tables end
user(value)
click to toggle source
# File lib/simple_backup/utils/mysql.rb, line 56 def user(value) @user = value end