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 のテーブルリターンとインデックスカバレッジの例の詳細な説明

目次インデックスタイプインデックス構造非クラスター化インデックスクエリインデックスカバー要約するイン...

mysql はフィールドコンテンツの一部を置き換え、mysql は関数 replace() を置き換えます。

[mysql] replace の使用方法 (フィールドの内容の一部を置き換える) [mysql]...

Docker を使用した Laravel アプリケーションのデプロイ例

この記事で使用されているPHPベースイメージはphp:7.3-apacheです。この記事の Lara...

MySQL 5.7.18 Green Edition のダウンロードとインストールのチュートリアル

この記事では、MySQL 5.7.18のグリーンバージョンをダウンロードしてインストールする詳細な手...

IE アドレスバーのアイコン表示問題を解決する 3 つの手順

<br />この Web ページ制作スキル チュートリアルは、Web サイトのアイコンを...

モバイル Web WAP には Bootstrap と jQuery Mobile のどちらを使用すべきか

問題を解決するBootstrap は、次の問題を解決する CSS フレームワークです。デバイス間での...

Vue プロジェクト コード分割ソリューション

目次背景目的分割前プロセス設計ディレクトリ構造の設計問題分割後プロセス設計ディレクトリ構造の設計問題...

nginxリバースプロキシのyum設定の詳細な手順

パート0 背景社内のイントラネットサーバーは直接インターネットにアクセスすることはできませんが、外部...

Linux の GRUB ブート プログラムの暗号化の概要

目次1. GRUB暗号化とは何か2. grub暗号化手順3. grub暗号化のロック属性1. GRU...

Dockerコンテナアプリケーションログの表示方法

docker アタッチコマンドdocker attach [options] 容器実行中のコンテナに...

ネイティブ JavaScript メッセージボード

この記事では、参考までにメッセージボードを実装するためのJavaScriptの具体的なコードを紹介し...

VMwareを使用したPermeateレンジシステムのインストール手順の詳細説明

1. 背景私たちは時々社内研修を行っており、実験環境をよく利用しています。最初はdockerコンテナ...

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

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

標準的なHTMLの書き方は、Dreamweaverによって自動的に生成されるものとは異なります。

コードをコピーコードは次のとおりです。 <!--doctype はドキュメント タイプ htm...

Vue の foreach 配列と js の traversal 配列の書き方の説明

Vue foreach配列を記述し、jsで配列をトラバースする方法シナリオVueでAxiosを使用し...