コマンドラインにパスワードを追加すると、ユーザー名/パスワードを使用したリモートmysqlログインは機能しません。

コマンドラインにパスワードを追加すると、ユーザー名/パスワードを使用したリモートmysqlログインは機能しません。

mysqlサーバーに接続するために次のコマンドを実行しています(自動的に接続されるbashスクリプトの一部です)

mysql -h slave1 -u monitor -pvP!KnK4*

端末ウィンドウに次の応答が表示されます。

-bash: !KnK4: event not found

mysql -h slave1 -u monitor -pコマンドラインにパスを追加せずに実行し、メッセージが表示されたときに同じパスワードを使用するとうまく機能します。

この状況で私が何を間違っているのでしょうか?

PS:上記のパスワードは実際のパスワードではありません(長くスタック交換のために短縮されました)。

ベストアンサー1

!シェル固有*の文字(例:移動する。

代わりに:

$ mysql -h slave1 -u monitor -pvP!KnK4*

代わりに、以下を使用してください。

$ mysql -h slave1 -u monitor -p'vP!KnK4*'

では時間が経つと、実際のパスワードの場合は、MySQLユーザーのパスワードを変更してください。誰もが見ることができるようにインターネットに投稿したからです。

(また、ユーザーのシェル記録ファイルを読むことができる人は誰でもこのパスワードにアクセスできることを覚えておく必要があります。)

おすすめ記事