web-dev-qa-db-ja.com

MySQLユーティリティ-〜/ .my.cnfオプションファイル

2つのmysqlユーティリティ、mysqldiffおよびmysqldbcompareを使用しようとしていますが、コマンドラインにパスワードを入力しないようにしたい

パスワードを指定しなくても済むように、オプションファイルを使用してDB接続のパスワードを指定することはできますか?

これは私が現在持っている一種のコマンドです...

/usr/share/mysql-workbench/python/mysqldiff --server1=root@localhost --server2=root@localhost --difftype=sql db1:db2

また、〜/ .my.cnfに「600」のアクセス許可があり、次のファイルが含まれています。

[client]
user=root
password=mypassword

コマンドライン経由でMySQLに接続すると、オプションファイルで詳細が取得されますが、mysqlユーティリティでは:-/

44
Carlton

これを試して -

[client]
user=root
password="pass"

[mysql]
user=root
password="pass"

[mysqldump]
user=root
password="pass"

[mysqldiff]
user=root
password="pass"

.my.cnfの場所:~/.my.cnf

sing Options Files というタイトルのマニュアルページを参照してください。

66
Retraut

@Retrautの回答を強化するには、引用符でパスワードを取得します。パスワードに特殊文字が含まれている場合、受け入れられた答えは機能しません。

[client]
user=root
password="p@$$"

[mysql]
user=root
password="p@$$"

[mysqldump]
user=root
password="p@$$"

[mysqldiff]
user=root
password="p@$$"

http://dev.mysql.com/doc/refman/5.7/en/option-files.html

「これは典型的なユーザーオプションファイルです」を検索し、そこに記載されている例を参照してください。幸運を祈ります。誰か他の人を救うことを願っています。

36
mimoralea