[解決済み] ターミナルからmysqlを使用して、bashスクリプトで書かれたパスワードを警告メッセージとして表示しないようにする。
質問
ターミナルからMySQLに対して以下のコマンドを実行しようとしたところ、エラーが発生しました。
mysql -u $user -p$password -e "statement"
実行は期待通りに動作しますが、必ず警告が出ます。
<ブロッククオート警告 コマンドラインインターフェイスでのパスワードの使用は安全でない場合があります。
しかし、私は上の文を環境変数を使って実施しなければならない(
$password
というのも、ターミナルからbashスクリプトで繰り返しコマンドを実行したいのですが、プロンプトが表示されるのを待って、1つのスクリプトで50回も100回もパスワードを入力させられるのは絶対に嫌だからです。そこで質問です。
-
警告を抑制することは可能でしょうか?コマンドは記載したように正常に動作しますが、ループオーバーして50回、100回とコマンドを実行するとウィンドウがかなり乱れます。
-
警告メッセージに従い、スクリプトにパスワードを書かない方がいいのでしょうか?その場合、プロンプトが強制的にパスワードを入力させるたびに、パスワードを入力しなければならないのでしょうか?
実行中
man mysql
と言うだけで、何の役にも立ちません。
--show-warnings
各ステートメントの後に警告を表示します(警告がある場合)。このオプションは、インタラクティブモードとバッチモードに適用されます。
で、この機能をオフにする方法については何も触れていません。
OS X 10.9.1 Mavericksで、homebrewのMySQL 5.6を使用しています。
解決方法は?
MySQLクライアント/サーバーのバージョンが5.6.xの場合、WARNINGメッセージを回避する方法として、以下の方法があります。 mysql_config_editor ツールを使用します。
mysql_config_editor set --login-path=local --host=localhost --user=username --password
そして、シェルスクリプトで使用することができます。
mysql --login-path=local -e "statement"
の代わりに
mysql -u username -p pass -e "statement"
関連
-
[解決済み】マルチパート識別子をバインドできない
-
群関数解の無効な使用
-
[解決済み] ユーザー 'root'@'localhost' (パスワード: YES を使用) のアクセス拒否 - 特権がない?
-
[解決済み] Bashスクリプトのソースディレクトリをスクリプト自体から取得するにはどうすればよいですか?
-
[解決済み] Bashスクリプトからプログラムが存在するかどうかを確認するにはどうすればよいですか?
-
[解決済み] BashスクリプトからOSを検出する方法は?
-
[解決済み] シェルスクリプトからエコーを使わずにパスワードを取得する方法
-
[解決済み] Bashを使用してコマンドからの出力をすべて抑制するにはどうすればよいですか?
-
[解決済み】Bashスクリプトでクリップボードにパイプを接続する
-
[解決済み】bash/sedスクリプトを使用してテキストファイルの最初の行を削除するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
MySQLデータ型の詳細
-
MySQL インタビューの質問 - ハッシュインデックスを設定する方法
-
mysql5.7のインストールと、無料・長期利用を目的としたNavicateの導入プロセスについて
-
Mysql がエラーを報告 オペランドには 1 つのカラムが含まれている必要があります。
-
SQLステートメントエラーです。オペランドには 1 つのカラムを含める必要があります [括弧を追加せずに複数のフィールドをクエリする
-
SQLException。オペランドは1列でなければなりません。
-
群関数解の無効な使用
-
PostMan レポート エラー: 接続 ECONNREFUSED 127.0.0.1:port number
-
[解決済み] SQLでカラムに最大値を持つ行のみを選択する [重複]。
-
[解決済み] すべてのMySQLデータベースを一度にエクスポート、インポートすることが可能