9

mysql を使用する bash スクリプト (cron ジョブ用) を作成しています。

mysql -uusername -ppassword -e 'something;'

スクリプトで使用するためにパスワードを手元に置いておく良い方法を探していますが、この情報をそのシステムの他のユーザーから保護する方法も探しています。ps -ef を使用できるユーザーと、テキスト ファイルを読み取る可能性のあるユーザー...

では、Linux の自動スクリプトで使用されるパスワードを保護するにはどうすればよいでしょうか?

4

3 に答える 3

10

これは、MySQL 5.6.6 以降のユーザー向けの更新された回答です。

4.6.6 mysql_config_editor — MySQL 構成ユーティリティに記載されているように、mySQL パスワードを保存するためのより安全な方法があり、クリア テキストのパスワードをローカル構成ファイルに保存しません。

mysql_config_editor ユーティリティ (MySQL 5.6.6 以降で使用可能) を使用すると、 .mylogin.cnf という名前の暗号化されたログイン パス ファイルに認証資格情報を保存できます。ファイルの場所は、Windows では %APPDATA%\MySQL ディレクトリ、Windows 以外のシステムでは現在のユーザーのホーム ディレクトリです。このファイルは、後で MySQL クライアント プログラムによって読み取られ、MySQL サーバーに接続するための認証資格情報を取得できます。

このファイルは、次のコマンドを実行して作成できます。

mysql_config_editor set --login-path=client  --host=localhost --user=root --password

次のコマンドを使用して、既存の設定を印刷できます。

mysql_config_editor print --login-path=client

これにより、現在の設定が出力されます。

[client]
user = root
password = *****
host = localhost

パスワードはデフォルトで暗号化されていることに注意してください。

于 2016-08-10T04:00:58.617 に答える