シェルでパスワードなしで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コンポーネントを開発する

推薦する

Linux sftp コマンドの使用法の概要

sftp は、安全なファイル転送プロトコルである Secure File Transfer Prot...

Linux サーバーでフォルダー、ファイル、解凍コマンドを削除する方法

1. フォルダを削除する例: rm -rf /usr/java /usr/javaディレクトリとその...

Linuxターミナルでファイルを作成する2つの一般的な方法を簡単に理解する

mkdir コマンドを使用して新しいディレクトリを作成できることは誰もが知っていますが、多くの場合、...

XHTML と CSS の Web ページ作成の問題に対する解決策

XHTML CSS ページ制作中に遭遇する問題の解決策は、解決策と呼ぶには少々大げさです。せいぜい、...

CSS 境界線の長さ制御機能の実装

以前は、境界線の長さをコンテナーよりも小さくする必要があったときに、div ネストを使用していました...

CSS でコンテンツが長すぎる問題を解決する方法の詳細な説明

CSS を記述するときに、デザインに存在する重要なケースを忘れてしまうことがあります。たとえば、コン...

MySql 8.0.11 のインストール プロセスと Navicat とのリンク時に発生する問題の概要

私のシステムとソフトウェアのバージョンは次のとおりです。システム環境: win7、64ビットMySQ...

MySQL複合クエリの詳細な説明

UNIONの使用ほとんどの SQL クエリは、1 つ以上のテーブルからデータを返す単一の SELEC...

InnoDB テーブルの BLOB 列と TEXT 列のストレージ効率を最適化します。

まず、MySQL InnoDB エンジンのストレージ形式に関する重要なポイントをいくつか紹介します。...

TS 数値区切り文字とより厳密なクラス属性チェックの詳細な説明

目次概要演算子の改良と正確なinstanceofよりスマートなオブジェクトリテラル推論固有のシンボル...

pdf.js を使用して Vue で PDF ファイルをプレビューする方法

ページ上で PDF をプレビューすると、一部のファイルは印刷またはダウンロードできません。現時点では...

HTML は CSS スタイルと JS スクリプトを動的に読み込みます。例

1. スクリプトを動的に読み込むウェブサイトの需要が高まるにつれて、スクリプトの需要も徐々に増加しま...

Kali Linux システムのバージョンを確認する方法

1. Kali Linuxシステムのバージョンを確認するコマンド: cat /etc/issue 2...

MySQL 5.5 のインストールと設定のグラフィックチュートリアル

MySQL 5.5 のインストールと構成のチュートリアル ノートを整理し、全員と共有します。 1.公...

Dockerボリュームコンテナ間のデータ共有の実装

ボリュームとは何ですか?ボリュームは英語で容量を意味し、Docker ではデータ ボリューム、つまり...