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

推薦する

nginxフォワードプロキシとリバースプロキシの詳細な説明

目次フォワードプロキシnginx リバースプロキシnginx リバースプロキシ 02リバースプロキシ...

jar パッケージを Docker コンテナに変換する方法

jar パッケージを Docker コンテナに変換する方法1.まずJavaイメージをダウンロードする...

WeChatミニプログラムがシームレスなスクロールを実現

この記事の例では、WeChatアプレットのシームレスなスクロールを実現するための具体的なコードを参考...

MySQLがフルテーブルスキャンを実行するいくつかの状況

目次ケース1:ケース2:ケース3:簡単にまとめると:過去 2 日間で、完全なテーブル スキャンを引き...

mysql エラー 1045 (28000) - ユーザーへのアクセスが拒否される問題を解決する方法

問題の説明 (以下の説明は Windows 環境に限定されます): D:\develop\ide\m...

画像をクリックして切り替えるJavaScript

クリックして画像を切り替えることは、日常生活で非常によく行われることです。今日の練習は、画像を切り替...

Node8 における AsyncHooks 非同期ライフサイクル

Async Hooks は Node8 の新機能です。NodeJs の非同期リソースのライフサイクル...

HTML5 と HTML4 の 10 の主な違い

HTML5 は HTML 標準の次のバージョンです。ますます多くのプログラマーが、Web サイトの構...

RR および RC 分離レベルでのインデックスとロックのテスト スクリプトのサンプル コード

基本概念現在の読み取りとスナップショットの読み取りMVCC では、読み取り操作はスナップショット読み...

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

この記事では、MySQL 5.7.27 winx64のインストールと設定方法を参考までに紹介します。...

Firefox で Flash を再生するためのオブジェクトとパラメータの書き方

コードをコピーコードは次のとおりです。 <object classid="clsid...

Docker で SVN サーバーを構築するチュートリアル

SVN は Subversion の略称で、ブランチ管理システムを使用して効率的に管理するオープンソ...

CSS3プロパティline-clampはテキスト行の使用を制御します

説明: ブロック要素に表示されるテキストの行数を制限します。 -webkit-line-clamp ...

ローカルの Windows リモート デスクトップから Alibaba Cloud Ubuntu 16.04 サーバーに接続する方法

ローカル Windows リモート デスクトップが Alibaba Cloud Ubuntu 16....

Vueのウェブページスクリーンショット機能の詳しい説明

最近、プロジェクトで写真をアップロードする要件があるのですが、顧客がアップロードする写真のサイズがま...