Merge branch 'mysql_insecure_password_warnings' into 'master'

Workaround the insecure password warnings emitted by MySQL 5.6

When using MySQL 5.6, the following output is emitted every time a backup is created, even with CRON=1.

```
Warning: Using a password on the command line interface can be insecure.
```

This fix works around that by sending the password via the [`MYSQL_PWD`](http://dev.mysql.com/doc/refman/5.6/en/environment-variables.html) environment variable.

See merge request !1139
This commit is contained in:
Stan Hu 2015-08-14 17:12:57 +00:00
commit 494afae08d
1 changed files with 5 additions and 2 deletions

View File

@ -18,6 +18,8 @@ module Backup
success = case config["adapter"]
when /^mysql/ then
$progress.print "Dumping MySQL database #{config['database']} ... "
# Workaround warnings from MySQL 5.6 about passwords on cmd line
ENV['MYSQL_PWD'] = config["password"].to_s if config["password"]
system('mysqldump', *mysql_args, config['database'], out: db_file_name)
when "postgresql" then
$progress.print "Dumping PostgreSQL database #{config['database']} ... "
@ -43,6 +45,8 @@ module Backup
success = case config["adapter"]
when /^mysql/ then
$progress.print "Restoring MySQL database #{config['database']} ... "
# Workaround warnings from MySQL 5.6 about passwords on cmd line
ENV['MYSQL_PWD'] = config["password"].to_s if config["password"]
system('mysql', *mysql_args, config['database'], in: db_file_name)
when "postgresql" then
$progress.print "Restoring PostgreSQL database #{config['database']} ... "
@ -69,8 +73,7 @@ module Backup
'port' => '--port',
'socket' => '--socket',
'username' => '--user',
'encoding' => '--default-character-set',
'password' => '--password'
'encoding' => '--default-character-set'
}
args.map { |opt, arg| "#{arg}=#{config[opt]}" if config[opt] }.compact
end