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

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

序文:

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

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

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

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

# skip-grant-tables モードでルートパスワードを変更する
 [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> mysql.user を更新し、authentication_string = password ('Password4') を設定します。ここで、user = 'testuser'、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キーを押した後、ルートパスワードを1回入力する必要があります
 [root@host ~]# mysql_config_editor は --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 の他の関連記事に注目してください。

以下もご興味があるかもしれません:
  • MySQLでルートユーザーのパスワードを変更する方法
  • MySQL 8.0.19 winx64 インストールチュートリアルと Windows 10 での初期パスワードの変更
  • mysql8.0 パスワードを忘れた場合の修正とネットコマンドのサービス名が無効になる問題
  • Ubuntu mysqlログイン名とパスワードを表示および変更し、phpmyadminをインストールする
  • MySQL ルートパスワードを変更する 4 つの方法 (要約)
  • MySQLへの外部ネットワークアクセスを許可し、MySQLアカウントのパスワードを変更する方法
  • mysql 8.0.16 winx64 および Linux でルート ユーザーのパスワードを変更する方法
  • MySql8.0以降のバージョンでROOTパスワードを正しく変更する方法
  • Windows 7 で MySQL 8.0.16 をインストールして使用する場合、パスワードの変更と Navicat への接続に関する問題が発生する
  • MySQL 8.0 をインストールした後、初めてログインするときにパスワードを変更する問題を解決する
  • MySQL 5.7 および MySQL 8.0 でルートパスワードを変更する方法の概要

<<:  js の通常形式の日付と時刻に 0 を自動的に追加する 2 つのソリューション

>>:  IE6はmin-widthを実装している

推薦する

Linux 上での Go 環境の構築のインストールと設定の説明

Linux で Go 環境を構築するのは非常に簡単です。 1. go1.2.1.linux-386....

Docker データボリュームコンテナの作成と使用状況分析

データ ボリューム コンテナーは、データ ボリュームをマウントするために特別に使用されるコンテナーで...

CSS で透明なグラデーション効果を実装するためのサンプルコード

Zhihu Discovery コラムのタイトル画像は、通常、以下のように表示されます。明らかに、グ...

MySQL でのストアド プロシージャと関数の作成の詳細な説明

目次1. ストアドプロシージャ1.1. 基本構文1.2 実行権限を指定してストアドプロシージャを作成...

ソケット '/tmp/mysql.sock' 経由でローカル MySQL に接続できない解決策

エラーメッセージ:エラー 2002: ソケット '/tmp/mysql.sock' ...

検証コード干渉を実装する js (動的)

この記事の例では、検証コードの動的干渉を実装するためのjsの具体的なコードを共有しています。具体的な...

Nest.js 認証検証方法の例

目次0x0 はじめに0x1 RBAC 実装0x2 クレームベースの承認0x3 統合 CASL 0x4...

テーブルの4辺を上下左右にスクロールするように固定する方法

質問:最近、プロジェクトの統計を行っていたときに、テーブルを上下にスクロールしたときにテーブルの先頭...

Web面接におけるJS事前解析と変数プロモーションの違い

目次事前分析とは何ですか?変数と関数の準備の違いvar 変数の繰り返し宣言変数と関数の昇格の優先順位...

最もよく使用されるJavaScriptイベントについて詳しく学ぶ

目次JavaScript イベント:よく使用されるイベント:イベントアクション要約するJavaScr...

Vue画像拡大鏡コンポーネントのカプセル化と使用方法の詳細な説明

Vue画像拡大鏡コンポーネントパッケージに基づいて、参考までに具体的な内容は次のとおりです。画像拡大...

DIV 背景半透明テキスト非半透明スタイル

DIVの背景は半透明ですが、DIV内の文字は半透明ではありませんコードをコピーコードは次のとおりです...

3分でUbuntu 16.04を初期化し、Java、Maven、Docker環境をデプロイする

Fast-Linux プロジェクト アドレス: https://gitee.com/uitc/Fas...

React Router 5.1.0 はページジャンプナビゲーションを実装するために useHistory を使用します

目次1. withRouterコンポーネントを使用する2. ルートタグを使用するReactRoute...

VSCode+CMake+Clang+GCC 環境構築チュートリアル (Win10 の場合)

大学院入試に備えて、C/C++ を使って基本的なデータ構造とアルゴリズムを実装する予定です。アルゴリ...