シェルでパスワードなしでMySQLデータベースに素早くログインする方法

シェルでパスワードなしでMySQLデータベースに素早くログインする方法

背景

Shell の mysql-client を介して MySQL データベースにログインする場合、常にパスワードを何度も入力する必要があり、非常に面倒です。

さらに、ルート パスワードが非常にランダムである場合 (LastPass が適切な選択です)、MySQL データベースに 1 回ログインするコストは非常に高くなります。

通常、次のようにデータベースにログインします。

ルート@imlonghao:~#mysql -uroot -p
パスワードを入力してください:

では、データベースに安全かつ簡単かつ便利にログインする方法はあるのでしょうか?

方法

もちろん答えは「はい」です。MySQL はすでにこの問題について考えてくれています。

参考リンク: パスワードセキュリティに関するエンドユーザーガイドライン

.my.cnfを使用して素早くログインする

~/ ディレクトリに .my.cnf ファイルを作成します。もちろん、このファイルがすでにある場合は、それを変更するだけです。

私は個人的にvimを使うのが好きなので、これを実行できます

vim ~/.my.cnf

次に、ファイルに次の情報を記入します。

[クライアント]
パスワード=あなたのパスワード
ユーザー=あなたのユーザー

注: your_pass と your_user を、ログインするユーザーのパスワードとユーザー名に変更します。

次に例を示します。

[クライアント]
パスワード=mysqlrootpassword123321
ユーザー=root

すでに .my.cnf ファイルがある場合は、[client] フィールドに情報を入力するだけです。

注意:パスワードは .my.cnf ファイルにプレーンテキストで書き込まれるため、このファイルのファイル権限の設定には注意する必要があります。

root@imlonghao:~# chmod 400 ~/.my.cnf

保存後、mysql コマンドを使用して MySQL データベースに直接ログインできます。

注:デフォルトの ~/.my.cnf 以外の設定ファイルを指定する必要がある場合は、 --defaults-file=file_nameパラメータを使用する必要があります。例:

root@imlonghao:~# mysql --defaults-file=/home/imlonghao/mysql-opts

環境変数MYSQL_PWDを使用して素早くログインする

MySQLはまず環境変数のパラメータを実行パラメータとして使用します。

root@imlonghao:~# MYSQL_PWD=your_passをエクスポートします

設定後は、再度MySQLにログインする際にパスワードを入力する必要がありません。

ただし、現在のシェルを終了すると、この環境変数は消えてしまうことに注意してください。

さらに重要なのは、シェルに入力したコマンドは自動的に保存され、入力したコマンドを履歴で確認できることです。

要約する

上記はこの記事の全内容です。この記事の内容が皆さんの勉強や仕事に少しでもお役に立てれば幸いです。ご質問があれば、メッセージを残してコミュニケーションしてください。123WORDPRESS.COM をご愛顧いただき、ありがとうございます。

以下もご興味があるかもしれません:
  • HBASE でよく使用されるシェル コマンド、追加、削除、変更、クエリ メソッド
  • MySQL のスケジュールされたバックアップ、削除、および回復機能を実装するシェル スクリプト
  • MySQLクエリ結果をシェルで簡単に処理する方法
  • シェルを使用してMySQLデータバックアップスクリプトを作成する
  • シェルスクリプトを使用したMySQLデータベースの自動バックアップ
  • シェルスクリプトを使用して、mysql を追加、削除、変更、チェックし、my.cnf を構成します。

<<:  nginx プロキシでの複数の 302 応答の解決策 (nginx Follow 302)

>>:  iframeをカプセル化するvueコンポーネントを開発する

推薦する

Vue Routerはバックグラウンドデータに応じて異なるコンポーネントをロードします

目次実際のプロジェクトで遭遇する要件実装が間違っているところもある私は個人的に、実装するより良い方法...

Vue3は独自のページングコンポーネントをカプセル化します

この記事の例では、vue3 が独自のページングコンポーネントをカプセル化する具体的なコードを参考まで...

数千万のデータを扱うMySQLのページングクエリのパフォーマンスを最適化する

MySQL のデータ量が多い場合、制限ページングが使用されます。ページ数が増えると、クエリの効率が低...

ウェブサイトのアクセス速度を向上させるための徹底的な最適化に関するヒント

<br />ウェブサイトのアクセス速度はウェブサイトのトラフィックに直接影響を及ぼし、ウ...

MySQL COUNT関数の使用と最適化

目次COUNT 関数は何をするのですか? MyISAMの「魔法」シンプルなCOUNT最適化近似値を使...

Nginx ログ出力のリクエスト後パラメータを設定する方法

【序文】当プロジェクトの SMS 機能は、第三者に接続することです。第三者からの元の受信確認要求は ...

TCPソケットSYNキューとAcceptキューの差異分析

まず、「LISTENING」状態の TCP ソケットには 2 つの独立したキューがあることを理解する...

Apache、Tomcat、Nginx サーバーの詳細な理解と比較分析

質問1件会社のサーバーはApacheを使用しており、バックエンドはPHP、サーバーはLinux C/...

フロントエンド プロジェクトのデフォルトのスクロール バー スタイルを変更する (概要)

スクロールバーのデフォルトスタイルを変更する必要があるプロジェクトを多数作成しましたが、プラグインを...

JSの基本概念の詳細な紹介

目次1. JSの特徴1.1 マルチパラダイム1.2 説明1.3 シングルスレッド1.4 ノンブロッキ...

MySQL で '%' を含むフィールドをクエリする方法の詳細な説明 (ESCAPE の使用法)

SQLのlike文では、例えば SELECT * FROM user WHERE username...

CSS3 で @media を使用して Web ページの適応を実現するためのサンプル コード

現在、コンピュータモニターの画面解像度はますます高くなる傾向にありますが、携帯電話などのモバイルデバ...

Django2.* + Mysql5.7 開発環境統合チュートリアル図

環境: 10.12 の新機能Python 3.6 MySQL 5.7.25 の場合ジャンゴ 2.2....

HTML で複数のクラス属性を定義する場合の無効な解決策

HTML を記述する過程で、クラス属性に複数の値を定義することがよくありますが、定義した値が無効であ...

MySQL 5.7.21 winx64 無料インストールバージョン設定方法グラフィックチュートリアル

MySQL 5.7.21 winx64無料インストールバージョンの設定方法、参考までに、具体的な内容...