MySQLアカウントのパスワード変更方法(概要)

MySQLアカウントのパスワード変更方法(概要)

序文:

データベースを日常的に使用すると、パスワードが単純すぎて変更する必要がある場合、パスワードの有効期限が切れて変更する必要がある場合、パスワードを忘れて変更する必要がある場合など、アカウント パスワードを変更する必要がある状況に遭遇することは避けられません。この記事では、パスワードを変更する必要があるシナリオと、パスワードを変更するいくつかの方法を紹介します。

1. ルートパスワードを忘れた

特に、設定したテスト環境を長期間使用していない場合、ルート パスワードを忘れてしまうことはよくあります。そのときに設定したパスワードを忘れてしまうことはよくあります。このときよく使われる方法は、権限検証をスキップし、ルート パスワードを変更してから、権限検証を有効にすることです。 MySQL 5.7 を例に、主なプロセスについて簡単に説明します。

まず、設定ファイルを変更し、[mysqld] セクションに skip-grant-tables という文を追加します。このパラメータを追加する目的は、権限の検証をスキップすることです。次に、データベースを再起動します。データベースが再起動したら、パスワードなしでデータベースに直接ログインして、パスワードを変更できます。

# skip-grant-tables モードで root パスワードを変更する [root@host ~]# mysql
MySQL モニターへようこそ。コマンドは ; または \g で終わります。
MySQL接続IDは16です
サーバーバージョン: 5.7.23-log MySQL コミュニティサーバー (GPL)

Copyright (c) 2000, 2018, Oracle およびその関連会社。無断複写・転載を禁じます。

OracleはOracle Corporationおよびその関連会社の登録商標です。
その他の名称は各社の商標である場合があります。
所有者。

ヘルプを表示するには、「help;」または「\h」と入力します。現在の入力ステートメントをクリアするには、「\c」と入力します。

mysql> update mysql.user set authentication_string = password ('xxxxxx') where user = 'root' and host = 'localhost';
クエリは正常、影響を受けた行は 0 行、警告は 1 件 (0.00 秒)
一致した行: 1 変更: 0 警告: 1

mysql> 権限をフラッシュします。
クエリは正常、影響を受けた行は 0 行 (0.01 秒)

ルート パスワードを変更した後、skip-grant-tables パラメータを再度削除し、データベースを再起動します。

2. パスワードを変更するいくつかの方法

パスワードを忘れた場合以外にも、パスワードを変更する必要がある状況が発生する場合があります。この場合は、通常の方法でパスワードを変更できます。引き続き MySQL 5.7 を例に、パスワードを変更するための一般的な方法をいくつか紹介します。

変更するにはalter userを使用します

たとえば、testuser アカウントのパスワードを変更する場合は、root アカウントを使用してログインし、alter user コマンドを実行して testuser アカウントのパスワードを変更できます。

mysql> ユーザー 'testuser'@'%' を変更し、'Password1' で識別します。
クエリは正常、影響を受けた行は 0 行 (0.01 秒)

mysql> 権限をフラッシュします。
クエリは正常、影響を受けた行は 0 行 (0.00 秒)

SET PASSWORDコマンドの使用

パスワードを変更するには、SET PASSWORD を使用します。コマンドの形式は、SET PASSWORD FOR 'username'@'host' = PASSWORD('newpass'); です。同様に、root アカウントを使用して他のアカウントのパスワードを変更することもできます。

mysql> 'testuser'@'%' のパスワードを設定 = PASSWORD('Password2');
クエリは正常、影響を受けた行は 0 行、警告は 1 件 (0.00 秒)

mysql> 権限をフラッシュします。
クエリは正常、影響を受けた行は 0 行 (0.00 秒)

mysqladminを使用してパスワードを変更する

アカウントのパスワード形式を変更するには、mysqladmin コマンドを使用します: mysqladmin -u username -p old password password new password

[root@host ~]# mysqladmin -utestuser -pPassword2 パスワード パスワード3
mysqladmin: [警告] コマンドライン インターフェイスでパスワードを使用すると安全でない可能性があります。
警告: パスワードはプレーンテキストでサーバーに送信されるため、パスワードの安全性を確保するために SSL 接続を使用してください。
[root@host ~]# mysql -utestuser -pPassword3
mysql: [警告] コマンドライン インターフェイスでパスワードを使用すると安全でない可能性があります。
MySQL モニターへようこそ。コマンドは ; または \g で終わります。
MySQL接続IDは2388です
サーバーバージョン: 5.7.23-log MySQL コミュニティサーバー (GPL)

Copyright (c) 2000, 2018, Oracle およびその関連会社。無断複写・転載を禁じます。

OracleはOracle Corporationおよびその関連会社の登録商標です。
その他の名称は各社の商標である場合があります。
所有者。

ヘルプを表示するには、「help;」または「\h」と入力します。現在の入力ステートメントをクリアするには、「\c」と入力します。

マイSQL> 

ユーザーテーブルを直接更新する

実際、すべての MySQL アカウント情報は mysql.user テーブルに保存されており、ユーザー テーブルを更新することでパスワードを直接変更することもできます。

# 5.7 以降のバージョン mysql> update mysql.user set authentication_string = password ('Password4') where user = 'testuser' and host = '%';
クエリは正常、1 行が影響を受け、1 つの警告 (0.06 秒)
一致した行: 1 変更された行: 1 警告: 1

mysql> 権限をフラッシュします。
クエリは正常、影響を受けた行は 0 行 (0.01 秒)

# 5.6 以前のバージョンでは、mysql.user を更新し、password=password('新しいパスワード') を設定します。user='ユーザー名'、host='ホスト'; 

3. ローカルクイックログインのログインパスを設定する

パスワードの漏洩や忘れを防ぐために、ローカルでパスワードを入力せずにすばやくログインできるように login-path を設定することもできます。

ログインパスは、MySQL 5.6 でサポートされる新しい機能です。 mysql_config_editor ツールを使用すると、MySQL サービスにログインするための認証情報が暗号化され、.mylogin.cnf ファイル (デフォルトではユーザーのホーム ディレクトリにあります) に保存されます。 MySQL クライアント ツールは、暗号化されたファイルを読み取って MySQL に接続し、迅速なログインを実現します。

ローカルに素早くログインできるように root アカウントを設定したい場合は、次のようにします。

# Enter キーを押した後、root パスワードを 1 回入力する必要があります [root@host ~]# mysql_config_editor set --login-path=root -uroot -hlocalhost -p -P3306 
パスワードを入力してください: 

# 設定後、login-path を使用してログインできます [root@host ~]# mysql --login-path=root
MySQL モニターへようこそ。コマンドは ; または \g で終わります。
MySQL接続IDは2919です
サーバーバージョン: 5.7.23-log MySQL コミュニティサーバー (GPL)

Copyright (c) 2000, 2018, Oracle およびその関連会社。無断複写・転載を禁じます。

OracleはOracle Corporationおよびその関連会社の登録商標です。
その他の名称は各社の商標である場合があります。
所有者。

ヘルプを表示するには、「help;」または「\h」と入力します。現在の入力ステートメントをクリアするには、「\c」と入力します。

マイSQL> 

要約:

この記事では、基本的にすべてのシナリオを網羅しながら、データベース アカウントのパスワードを変更するいくつかの方法を主に紹介します。ここで、データベース アカウントのログインを IP セグメントに制限し、パスワードをできるだけ複雑にして、特に重要な環境では定期的に変更することが最善であることを皆さんに思い出していただきたいと思います。決して不注意であってはなりません。年末なので、安全が第一です。

これで、MySQL アカウントのパスワードを変更する完全な方法 (要約) に関するこの記事は終了です。MySQL アカウントのパスワード変更に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • MySQLへの外部ネットワークアクセスを許可し、MySQLアカウントのパスワードを変更する方法
  • MySQL でルートアカウントのパスワードを変更する方法

<<:  JS のディープコピーとシャローコピーの詳細

>>:  WeChatアプレット開発の共通機能と使用方法のまとめ

推薦する

インタラクティブな視覚化 JS ライブラリ gojs の使い方の紹介とヒント

目次1. gojsの紹介2. Gojsのアプリケーションシナリオ3. gojs を選ぶ理由: 4. ...

ES6の新機能に関する最もよく使われる知識ポイントのまとめ

目次1. キーワード2. 脱構築3. 文字列4. 正規化5. 配列6. 機能7. オブジェクト8.シ...

MySQL データベース SELECT クエリ式分析

データ管理の大部分は検索であり、SELECT はその大部分を占めています。 SELECT selec...

href をクリックした後にページがジャンプしないようにするための空のリンクの正しい書き方 # 問題

リンクを使用する必要がある場合もありますが、リンクする必要はありません。onclick イベントを処...

ドラッグフォトウォールを実現するネイティブJS

この記事では、ネイティブ JS で実装されたドラッグ可能な写真ウォールを紹介します。効果は次のとおり...

Vue で Google サードパーティ ログインを実装するためのサンプル コード

目次1. 開発者プラットフォームの構成問題を解決する1. 開発者プラットフォームの構成1. 開発者プ...

VMware15.5でcentos8.1をインストールし、物理メモリが不足する問題に対処する最も完全なチュートリアル

1. 仮想マシンの準備1. 新しい仮想マシンを作成する 2. 仮想マシンのカスタマイズを選択する 3...

VUE ユニアプリテンプレート構文についての簡単な説明

1.v-bind(略称:)コンポーネント プロパティのデータで定義されたデータ変数を使用するか、コン...

Linuxのファイル権限の詳細な紹介

Linux の優れた点は、マルチユーザー、マルチタスク システムにあります。 Linux では通常、...

MySql インデックスはクエリ速度を向上させる一般的な方法のコード例

インデックスを使用してクエリを高速化する1. はじめにWeb 開発には、ビジネス テンプレート、ビジ...

JS関数のカリー化の詳細な説明

目次1. 補足知識ポイント: 関数の暗黙的な変換2. 補足知識: call/apply を使って配列...

Navicat 8でMySQL用のデータベースを作成する方法

ウェブサイトを開発する場合、データを保存するためにデータベースを使用する必要があることがよくあります...

Springboot プロジェクトに動的にパラメータを渡すための Docker の実装方法

背景最近、Docker 初心者の友人から、毎回プロジェクト構成ファイルにハードコーディングしてサービ...

17の広告効果測定の解釈

1. 広告の 85% は未読です<br />解釈: 成功する広告の 15% にどうやって...

DockerコンテナでのMySQLデータのインポート/エクスポートの詳細な説明

序文MySQL データのインポートとエクスポートは mysqldump コマンドで解決できることは誰...