Is it possible to have passwords configured per database or per host in .my.cnf
As I answered here, you can add a section for each user/host/db you connect to using the syntax in your ~/.my.cnf
:
[clienthost1] # Note: client + host1
user=myuser
password=mypass
database=dbname
host=server.location.com
Once this is in your user's .my.cnf
, you can utilize it by doing this on a command line:
$ mysql --defaults-group-suffix=host1
Put clear passwords in text files is not recommended since mysql 5.6.6.
You can use mysql_config_editor
to save passwords encrypted also to provide different passwords for different connections https://dev.mysql.com/doc/refman/5.6/en/mysql-config-editor.html
The other answer is correct. Unfortunately mysqladmin
doesn't support --defaults-group-suffix
(at least not the version I'm using).
Hence I resorted to using --defaults-file=HOST.cnf
instead, which works for mysql
, mysqladmin
and mysqldump
.