MySQL8 でパスワードを忘れた後にパスワードをリセットする方法 (MySQL の古い方法は機能しません)

MySQL8 でパスワードを忘れた後にパスワードをリセットする方法 (MySQL の古い方法は機能しません)

コマンドライン mysqld –skip-grant-tables は mysql8 では正常に起動できず、パラメータは ini ファイルで起動できません。

MySQL パスワードはユーザー テーブルに保存されます。パスワードを変更すると、実際にはテーブル内のレコードが変更されます。

リセットの考え方は、パスワードなしでシステムに入る方法を見つけ、データベース コマンドを使用してユーザー テーブル内のパスワード レコードを変更することです。

確認したところ、インターネット上のMySQL5システムで推奨されている方法は、MySQLサービスを--skip-grant-tablesパラメータで起動することです。これは、起動時に認証テーブルがロードされないことを示し、起動が成功した後、ルートユーザーは空のパスワードでログインできます。

mysqld --skip-grant-tables

ログイン後、

UPDATE user SET authentication_string=” WHERE user='root';

これらのコマンドはパスワードを設定するか、空白のままにします。

ただし、mysql8 では、mysqld –skip-grant-tables などのコマンドラインが正常に起動できず、ini ファイルでパラメータを起動できません。

MySQL8 システムパスワードをリセットするための 2 つのアイデア

考え方は 2 つあります。サービス起動時に --init-file パラメータを使用して、パスワード変更用のコマンド ファイルを読み込んで実行します。コマンドを実行すると、サービス起動後にパスワードがクリアまたはリセットされます。サービス起動後は、空のパスワードまたは指定したパスワードでログインできます。

または、–skip-grant-tables コマンドライン パラメータでサービスを開始できない理由を引き続き調査し、問題を解決してから、サービスを開始し、空のパスワードでログインし、mysql.user テーブルのパスワード レコード フィールドをクリアまたはリセットするコマンドを手動で入力します。

前者をお勧めします。

具体的な操作手順は以下のとおりです。

方法1: --init-fileパラメータを使用して解決する

このパラメータは、サービスが起動したときに SQL コマンド ファイルが実行されることを指定します。したがって、パスワードをリセットするコマンドをファイルに記述し、このパラメータを使用して起動時にコマンドが実行されることを指定するだけで済みます。起動が完了したら、システム パスワードをリセットできます。

最初のステップはシステムサービスをシャットダウンすることです

ネットストップmysql

2番目のステップは、パスワード変更コマンドを含むテキストファイルを作成することです。

ALTER USER 'root'@'localhost' は '; によって識別されます。

ステップ3: コマンドラインモードでサーバーを起動し、起動時に実行されるパスワード変更コマンドファイルを指定します。

mysqld –init-file=d:mysqlc.txt –console

具体的な操作のスクリーンショット

方法2: --skip-grant-tablesパラメータを使用する方法を見つける

方法1と同様に、まずシステムサービスをオフにします

実際のテストでは、mysql8システムでは、mysqld –console –skip-grant-tables –shared-memoryを使用すると、パスワードなしでサービスを開始できます。

サービスが開始されたら、空のパスワードでシステムにログインします。

mysql.exe -u ルート

次にsqlコマンドを実行して、ルートユーザーのパスワードを空に設定します。

UPDATE mysql.user SET authentication_string=” WHERE user='root' and host='localhost';

具体的な操作のスクリーンショット

MySQL 8 の一部の機能により、古いリセット方法はあまり効果的ではありません。問題を解決するには、–init-file パラメータを使用することをお勧めします。これは安全で信頼性が高いことがテスト済みです。

データベース管理パスワードを紛失すると、本当に頭が痛くなります。パスワードを正常に取得できない場合は、大変なことになります。オンラインで見つかる解決策のほとんどは古くなっています。この記事を保存しておき、必要な場合に備えて注意を払うことをお勧めします。

以下もご興味があるかもしれません:
  • mysql8.0.19 でパスワードを忘れた場合の完璧な解決策
  • Windows 8.1 で MySQL5.7 のルート パスワードを忘れた場合の解決方法
  • MySQL 8のパスワードを忘れた場合のベストな対処法の簡単な分析
  • MySQL 8.0.18 圧縮パッケージのインストールと忘れたパスワードのリセット時に遭遇する落とし穴
  • mysql8.0 パスワードを忘れた場合の修正とネットコマンドのサービス名が無効になる問題
  • MySQL8のパスワードを忘れた場合の簡単な解決策

<<:  Linux でテキストを表示するためのヒント (非常に実用的!)

>>:  Vue の高度な構築プロパティの詳細な説明

推薦する

初心者向けの MySQL のインストール方法 (効果が実証済み)

1. ソフトウェアのダウンロードMySQL のダウンロードとインストール:公式サイトのダウンロード...

MySQL の int、char、varchar のパフォーマンスを比較する

インターネットには、真実のように見える「噂」がたくさんあります。もちろん、悪意のあるものではありませ...

Web ページの HTML コードの説明: 順序付きリストと順序なしリスト

このセクションでは、HTML のリスト要素について学習します。リストは、Web サイトのデザインにお...

ウェブサイトのパフォーマンスを向上させるために画像を最適化する方法

目次概要画像圧縮とはJPEG/JPG JPGの利点JPGの使用シナリオJPGの欠点MozJPEG を...

MySQL count(1)、count(*)、count(field)の違い

目次1. COUNTの初見2. COUNT(フィールド)、COUNT(定数)、COUNT(*)の違い...

Dockerでローカルマシン(ホストマシン)にアクセスする方法

質問Docker でローカル データベースにアクセスするにはどうすればよいでしょうか? 127.0....

Docker用国産イメージウェアハウスの使い方

1. 問題の説明何らかの理由により、中国でのDockerイメージのダウンロード速度は特に遅くなります...

Centos7 で NIS を構成する詳細な手順

目次原理ネットワーク環境の準備インストール前の準備NIS サーバー操作NIS クライアント操作原理N...

Element-ui NavMenuサブメニューを使用して再帰的に生成する場合のエラーの詳細な説明

ナビゲーションバーのサブメニューを再帰的に生成すると、メニューは正常に生成できるが、マウスをホバーす...

HTML ページ共通スタイル (推奨)

以下のように表示されます。 XML/HTML コードコンテンツをクリップボードにコピーbody、di...

JavaScript の基本演算子

目次1. オペレーター要約する1. オペレーター演算子は、代入、比較、算術演算などの機能を実装するた...

忘れられたMySQLパスワードとログインエラーの問題について簡単に説明します

MySQL ログイン パスワードを忘れた場合、解決方法は実はとても簡単です。MySQL メイン構成フ...