2013-04-30 2 views
39

私はmysqlのユーティリティ、mysqldiffとmysqldbcompareの2を使用しようとコマンドラインでMySQLのユーティリティ - 〜/ .my.cnfオプションファイル

を自分のパスワードを入れないようにしたいのですオプションを使用することも可能です私のDB接続のパスワードを指定してパスワードを指定しなくてもいいですか?

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

/usr/share/mysql-workbench/python/mysqldiff [email protected] [email protected] --difftype=sql db1:db2 

私はまた、「600」の権限を持っており、次のものが含まれ、〜/ .my.cnfでファイルを持っている..

[client] 
user=root 
password=mypassword 

私は、MySQLにコマンドラインを介して接続すると、それは私のオプションファイルで詳細を拾うが、MySQLのユーティリティはありません: -/

答えて

56

これを試してみてください -

.my.cnf用
[client] 
user=root 
password="pass" 

[mysql] 
user=root 
password="pass" 

[mysqldump] 
user=root 
password="pass" 

[mysqldiff] 
user=root 
password="pass" 

場所:~/.my.cnf

がRetrautの答え@上高めるためUsing Option Files

31

題したマニュアルページを参照してください引用符でパスワードを取得します。あなたのパスワードに特殊文字が含まれていれば、受け入れられた答えはうまくいかないでしょう。それは良いセキュリティ実践です。

[client] 
user=root 
password="[email protected]$$" 

[mysql] 
user=root 
password="[email protected]$$" 

[mysqldump] 
user=root 
password="[email protected]$$" 

[mysqldiff] 
user=root 
password="[email protected]$$" 

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

を検索する「ここでは、一般的なユーザーオプションファイルです:」そして彼らはそこで状態の例を参照してください。幸運にも、私は誰か他の人をしばらく救うことを願っています。

+3

ありがとうございます!可能であれば、複数のアップフォートを与えますか? – Grynn

+1

私はなぜ私のパスワードが受け入れられていないのだろうかと思っていました。今私は知っている。 – Kzqai

+0

とにかく格納しているルートパスワードについては、〜128ビットの数値を生成し、16進数などで保存することをお勧めします。絶対ゴミの16ラテン1文字は、[0-9a-f]の32文字に相当します。 –

関連する問題