Class: Flydata::Util::MysqlUtil
- Inherits:
-
Object
- Object
- Flydata::Util::MysqlUtil
- Defined in:
- lib/flydata/util/mysql_util.rb
Constant Summary collapse
- DEFAULT_MYSQL_CMD_OPTION =
"--default-character-set=utf8 --protocol=tcp"
Class Method Summary collapse
-
.generate_mysql_cmd(option) ⇒ Object
Generate mysql/mysqldump command with options options must be hash - command # mysql(default) | mysqldump - host - port - username - password - database - tables # array - custom_option # string.
-
.generate_mysql_ddl_dump_cmd(option) ⇒ Object
DDL_DUMP_CMD_TEMPLATE = “MYSQL_PWD="%s" mysqldump –protocol=tcp -d -h %s -P %s -u %s %s %s”.
- .generate_mysql_show_grants_cmd(option) ⇒ Object
-
.generate_mysqldump_with_master_data_cmd(option) ⇒ Object
MYSQL_DUMP_CMD_TEMPLATE = “MYSQL_PWD="%s" mysqldump –default-character-set=utf8 –protocol=tcp -h %s -P %s -u%s –skip-lock-tables –single-transaction –hex-blob %s %s %s”.
- .generate_mysqldump_without_master_data_cmd(option) ⇒ Object
Class Method Details
.generate_mysql_cmd(option) ⇒ Object
Generate mysql/mysqldump command with options options must be hash
-
command # mysql(default) | mysqldump
-
host
-
port
-
username
-
password
-
database
-
tables # array
-
custom_option # string
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/flydata/util/mysql_util.rb', line 16 def self.generate_mysql_cmd(option) raise ArgumentError.new("option must be hash.") unless option.kind_of?(Hash) option = convert_keys_to_sym(option) command = option[:command] ? option[:command] : 'mysql' host = option[:host] ? "-h #{option[:host]}" : nil port = option[:port] ? "-P #{option[:port]}" : nil username = option[:username] ? "-u#{option[:username]}" : nil password = if !(option[:password].to_s.empty?) "-p\"#{option[:password].gsub('`', '\\\`')}\"" else nil end database = option[:database] tables = option[:tables] ? option[:tables].join(' ') : nil default_option = option[:no_default_option] ? nil : DEFAULT_MYSQL_CMD_OPTION custom_option = option[:custom_option] [command, host, port, username, password, default_option, custom_option, database, tables].compact.join(' ') end |
.generate_mysql_ddl_dump_cmd(option) ⇒ Object
DDL_DUMP_CMD_TEMPLATE = “MYSQL_PWD="%s" mysqldump –protocol=tcp -d -h %s -P %s -u %s %s %s”
38 39 40 41 42 43 |
# File 'lib/flydata/util/mysql_util.rb', line 38 def self.generate_mysql_ddl_dump_cmd(option) opt = option.dup opt[:command] = 'mysqldump' opt[:custom_option] = '-d' generate_mysql_cmd(opt) end |
.generate_mysql_show_grants_cmd(option) ⇒ Object
60 61 62 63 64 65 |
# File 'lib/flydata/util/mysql_util.rb', line 60 def self.generate_mysql_show_grants_cmd(option) opt = option.dup opt[:command] = 'mysql' opt[:custom_option] = '-e "SHOW GRANTS;"' generate_mysql_cmd(opt) end |
.generate_mysqldump_with_master_data_cmd(option) ⇒ Object
MYSQL_DUMP_CMD_TEMPLATE = “MYSQL_PWD="%s" mysqldump –default-character-set=utf8 –protocol=tcp -h %s -P %s -u%s –skip-lock-tables –single-transaction –hex-blob %s %s %s”
46 47 48 49 50 51 |
# File 'lib/flydata/util/mysql_util.rb', line 46 def self.generate_mysqldump_with_master_data_cmd(option) opt = option.dup opt[:command] = 'mysqldump' opt[:custom_option] = '--skip-lock-tables --single-transaction --hex-blob --flush-logs --master-data=2' generate_mysql_cmd(opt) end |
.generate_mysqldump_without_master_data_cmd(option) ⇒ Object
53 54 55 56 57 58 |
# File 'lib/flydata/util/mysql_util.rb', line 53 def self.generate_mysqldump_without_master_data_cmd(option) opt = option.dup opt[:command] = 'mysqldump' opt[:custom_option] = '--skip-lock-tables --single-transaction --hex-blob' generate_mysql_cmd(opt) end |