最近知って、よく使っている方法。事前にパスワードを設定する事で、起動時に要求されないようにする(そして警告を表示しない)方法です。
最初に、必要な値をすべて変数に設定しておきます。パスワードを読み込む場合には read コマンドに -s オプションを付けましょう。
$ read db_host
(データベースサーバ名)
$ read db_user
(データベースのユーザ名)
$ read -s db_pswd
($db_userのパスワード)
$ read db_name
(データベース名)
こういうのを記述しておく設定ファイルを用意して、そこから読み出すようにしてもいいですね。
手段はともかく、変数に代入さえ出来れば、以降はこれらを参照してアクセスできます。
$ MYSQL_PWD=$db_pswd mysql -h$db_host -u$db_user $db_name
MYSQL_PWDを別に設定してもいい。
$ export MYSQL_PWD=$db_pswd
$ mysql -h$db_host -u$db_user $db_name
繰り返し起動する必要がある場合にも便利ですが、シェルスクリプトの中でも威力を発揮するでしょう。データベースが持っている値を取り出して、それを加工する場合など。
例えば、以下のようにパイプでつないでLinuxコマンドによる加工が簡単に出来ます。
MYSQL_PWD=$db_pswd mysql -h$db_host -u$db_user $db_name -sN -e"show tables;" | wc -l
やり方はいくつかあると思いますが、このようにMYSQL_PWD変数を利用するのが一番スマートと思います(mysqlコマンドがその為に用意している方法という意味で)
なお、シェルはbashです。言わずもがなですが。