Mac で MySQL 8.0.22 のパスワードを取得する方法

Mac で MySQL 8.0.22 のパスワードを取得する方法

Mac 最新バージョンの MySQL 8.0.22 パスワード回復

問題の説明:

昨日、突然、Macで最新バージョンのMySQLのパスワード変更プロセスを体験したくなりました。プラグインを変更して、caching_sha2_passwordをmysql_native_passwordに置き換え、UPDATE SETを使用してauthentication_stringを変更しました。password('new password')関数を追加することを忘れていたため、

エラー 1045 (28000): ユーザー'root'@'localhost'のアクセスが拒否されました(パスワード使用: YES)

原因分析:

全体的にはいくつかの落とし穴があります:

1. password()関数はMySQL 8.0で非推奨になりました
2. authentication_string フィールドには、MySQL によって暗号化された 41 ビットの文字列パスワードのみを含めることができます。その他はフォーマット エラーとして報告されます。つまり、md5('new password') は元のパスワード ('new password') の役割を果たすことができません。
3. MySQL 8.0 データベースのデフォルトの認証プラグインはcaching_sha2_passwordです。これには、mysqladmin を使用してデータベースを初期化するために使用するプラグインも含まれます。したがって、通常の MySQL 接続クライアントで MySQL 8.0 データベースに接続する場合は、mysql.user のプラグイン列であるdefault_authentication_pluginを変更する必要があります。

解決:

ステップ1: MySQLサーバーをシャットダウンする

左上隅のAppleアイコン - システム環境設定 - MySQL - MySQLサーバーの停止

ステップ2:システム管理者権限を使用してMySQLセキュリティ認証をスキップし、ログインを強制する

1. コマンド + スペース
2.ターミナル
3.sudo -i
4. /usr/local/mysql/bin/ に移動します。
5../mysqld_safe --skip-grant-tables &
6.return(キーボードのReturnキーをクリック)
7. この時点で、MySQL Server は再び実行されます。ps -ef | grep -v 'grep' | grep 'mysql' を使用して、その PID とそれを起動した mysqld_safe の PID を表示できます。
8../mysql

これまでのところ、セーフモードで MySQL に正常にログインできました。

9. FLUSH PRIVILEGES; (このステートメントは、現在のユーザー テーブルのユーザー情報と権限テーブルの権限をメモリに抽出し、ユーザー テーブルを変更するための権限が正常に取得できることを確認します)
10. まず、ユーザーテーブルのrootのauthentication_stringを空の文字列に設定し、次にALTER userを使用してパスワードをリセットします。
11. MySQLを終了し、kill -9でmysqld_safeを強制終了し、mysqlを強制終了して再起動します。
12. 新しいパスワードで通常通りログインします

mysqlを使用します。
UPDATE user SET authentication_string = '' WHERE User = 'root';
ユーザー 'root'@'localhost' を変更し、'123456' によって識別します。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • MySQL の安全なパスワード入力のいくつかの操作の紹介
  • MySQL 5.6 でセキュア処理パスワードを変更する方法
  • MySQL8のパスワードを忘れた場合の簡単な解決策
  • MySQL 8.0 パスワード有効期限ポリシーの詳細な説明
  • MySQLでルートユーザーのパスワードを変更する方法
  • MySQLはパスワードなしでログインする例を実装しています
  • Linux mysql-5.6 でルート パスワードをリセットする方法
  • MySQLを安全にシャットダウンする方法
  • MySQLプロセスを安全かつ適切にシャットダウンする方法
  • 年末ですが、MySQL パスワードは安全ですか?

<<:  Vue でよく使われる命令 v-if と v-show の違いを簡単に分析します。

>>:  HTML フォームを送信するいくつかの方法_PowerNode Java Academy

推薦する

MySQL 5.7.15 のインストールと設定方法のグラフィック チュートリアル (Windows)

MySQL をインストールする必要があるため、インストール手順を以下のように記録します。 自分なり...

Vueは要素ツリーコントロールを通じてツリーテーブルを実装します

目次実装効果図依存関係をインストールするカスタムツリーコントロールその他の実装要約するVueでは、要...

docker compose を使用してハーバープライベートウェアハウスをインストールする詳細なチュートリアル

概要港とは何ですか?英語の単語の意味は「港」です。 Harborはコンテナ(貨物)を保管するために使...

VMware ESXi のインストールと使用記録(ダウンロード付き)

目次1. ESXiをインストールする2. ESXiをセットアップする3. ESXiを起動するESXi...

MySQL 変数宣言とストアド プロシージャの分析

変数の宣言グローバル変数の設定@a='新しい変数' を設定します。関数やストアドプロ...

VMware Esxi のルート パスワードを忘れた後に正常に取得する方法

CentOS6 インストール ディスク (任意のバージョン) を準備するか、別の pnux インスト...

Centos7 に yum を使用して MySQL をインストールし、リモート接続を実現する方法

Centos7はyumを使用してMySQLをインストールし、リモート接続を実現する方法です。MySQ...

CSS 動的読み込みバー効果のサンプルコード

CSS変数の知識を使って、追加したコードとコメントを直接投稿します <!DOCTYPE htm...

MySQLテーブルを削除する方法

MySQL でテーブルを削除するのは非常に簡単ですが、削除コマンドを実行するとすべてのデータが消えて...

HTML で #include ファイルを使用する例

a.htmとb.htmの2つのファイルがあります。同じディレクトリ内のa.htmの内容は次のとおりで...

クロスドメイン js フロントエンドの 8 つの実装ソリューション

目次1. jsonp クロスドメイン2. document.domain + iframe クロスド...

vue keepAlive キャッシュクリア問題事例の詳細な説明

Keepalive は Vue プロジェクトでのキャッシュによく使用され、基本的な要件を満たすのに非...

React-vscode で jsx 構文を使用する際の問題と解決策

問題の説明プラグインをインストールした後、ES7 React/Redux/GraphQL/React...

Centos7.3 で mysql5.7.18 をインストールして初期パスワードを変更する方法

この記事では、Centos7.3でのmysql5.7.18のインストールと初期パスワードの変更につい...

Sublime Text - ブラウザのショートカットキーを設定するための推奨方法

コード効果を異なるブラウザで表示することはよくあることなので、異なるショートカットキーを使用して対応...