Linux(Ubuntu)でSQLパスワードが何であるかを尋ねて、.shファイルに保存しないようにしますか?

Linux(Ubuntu)でSQLパスワードが何であるかを尋ねて、.shファイルに保存しないようにしますか?

サーバー上のドキュメントのルートとデータベースをすぐにバックアップし、それをマイサーバー環境にSSHトンネリングするエンドシステムにコピーするスクリプトファイルがあります。

(
cd /var/www/html
zip -r ./html.zip ./
mysqldump -u USER -p PASSWORD --all-databases > ./db.sql
zip backup.zip html.zip db.sql
scp backup.zip /home/user/backups
rm ./html.zip ./db.sql ./backup.zip
)

私の質問:

[パスワード]にパスワードを手動で入力する必要があります。このパスワードは頭の中に内面化してよく使うし、スクリプトに入力したくないので避けたいものです。

私の理想的なタイプ:

次のコマンド(または同様のコマンド)を実行するたびにパスワードの入力を求められます。

mysqldump -u USER --all-databases > ./db.sql

私の質問:

Linux自体または既存のユーティリティを介してそのようなヒントは可能ですか?

ベストアンサー1

mysqldumpのマンページから:

 o   --password[=password], -p[password]

           The password to use when connecting to the server. If you use the short option form (-p), you cannot have a space between the option and the password. If you omit the password value following the
           --password or -p option on the command line, mysqldump prompts for one.

           Specifying a password on the command line should be considered insecure. You can use an option file to avoid giving the password on the command line.

フラグからパスワード値を省略すると、-pmysqldump はパスワードの入力を求めます。

おすすめ記事