シェルでパスワードなしで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 カプセル化コンポーネント ツール $attrs、$listeners の使用

目次序文$属性例: $listeners (公式説明)使用シナリオ要約する序文複数レベルのコンポーネ...

JSパッケージオブジェクトに関する簡単な説明

目次概要意味インスタンスメソッドプリミティブ型とインスタンスオブジェクト間の自動変換カスタムメソッド...

1 行のコードでさまざまな IE 互換性の問題を解決します (IE6-IE10)

x-ua-compatible は、IE ブラウザがページを解析およびコンパイルするためのモデルを...

ノードを使用して静的ファイルキャッシュを実装する方法

目次キャッシュキャッシュ位置の分類キャッシュ設定ヘッダーNodeは静的ファイルキャッシュを実装する強...

JavaScriptにおけるこれの深い理解

Jsでのこれの深い理解JavaScriptスコープはstatic scopeスコープですが、 Jsの...

MySQLクエリ最適化分析チュートリアルをステップバイステップで教えます

序文MySQL は、強力なクエリ機能、高いデータ一貫性、高いデータ セキュリティ、およびセカンダリ ...

Vue が学ぶべき知識ポイント: forEach() の使用

序文フロントエンド開発では、目的のコンテンツを取得するためにループをトラバースする必要がある状況に頻...

Linux md5sumコマンドの使い方

01. コマンドの概要md5sum - MD5検証コードを計算して検証するmd5sum コマンドは、...

MySQL データ型 DECIMAL の使用方法の詳細な説明

MySQL DECIMALデータ型は、データベースに正確な数値を保存するために使用されます。会計シス...

HTML における DTD の使用法の概要

DTD はマークアップの文法規則のセットです。これは XML 1.0 仕様の一部であり、HTML フ...

WeChatミニプログラムユーザー認証による携帯電話番号の取得(getPhoneNumber)

序文ミニプログラムには、ユーザーを取得するための非常に便利な API があり、getPhoneNum...

CSS3はウェブサイトの製品表示効果図を実現します

この記事では、CSS3 を使用した Web サイトの商品表示の効果を紹介し、皆さんと共有します。詳細...

MAC で MySQL の初期パスワードを変更する方法

問題の説明: Macを購入し、初めてMySQLをインストールしました。初期パスワードが分かりません。...

知っておくべき 7 つのネイティブ JS エラーの種類

目次概要1. 範囲エラー2. 参照エラー3. 構文エラー4. タイプエラー5. URIエラー6. 評...

Docker イメージのデフォルトの保存場所を変更する方法 (ソリューション)

システムの初期のパーティション分割により、オペレーティング システム内の対応する / パーティション...