web-dev-qa-db-ja.com

データベースごとまたは.my.cnfのホストごとにパスワードを構成することは可能ですか?

私は~/.my.cnf

[client]
password="somepass"

しかし、これは私が接続するすべてのuser @ Host/databaseに使用するパスワードではありません。異なるものに異なるパスワードを構成に指定する方法はありますか?それで、それらを入力する必要はありませんか?

48
xenoterracide

私が答えたように ここ~/.my.cnfの構文を使用して、接続する各ユーザー/ホスト/ dbのセクションを追加できます。

[clienthost1]   # Note: client + Host1
user=myuser
password=mypass
database=dbname
Host=server.location.com

これがユーザーの.my.cnfに含まれると、コマンドラインでこれを実行することで使用できます。

$ mysql --defaults-group-suffix=Host1
67
Derek Downey

Mysql 5.6.6以降では、テキストファイルに明確なパスワードを入れることは推奨されていません。

mysql_config_editorを使用して、暗号化されたパスワードを保存し、異なる接続に異なるパスワードを提供することもできます https://dev.mysql.com/doc/refman/5.6/en/mysql-config-editor.html

8
PerroVerd

他の答えは正しいです。残念ながらmysqladmin--defaults-group-suffixをサポートしていません(少なくとも私が使用しているバージョンは)。

そのため、代わりに--defaults-file=Host.cnfを使用しました。これは、mysqlmysqladmin、およびmysqldumpで機能します。

8
kqw