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

推薦する

Jenkins を使用した Vue プロジェクトのワンクリック パッケージングと公開の実装

目次Jenkinsのインストールインストールポート番号を変更します(デフォルトのポートは8080です...

この記事では、CSSの2列レイアウトと3列レイアウトの具体的な使い方をまとめます。

序文大規模なフロントエンドの開発に伴い、UI フレームワークが次々と登場し、フロントエンド開発におけ...

Centos に PHP7.4 と Nginx をインストールする方法

準備する1. 必要なインストールパッケージをダウンロードするhttps://www.php.net/...

Xampp サーバーで MySQL パスワードを変更する方法 (画像付き)

今日、PHP で作業しているときに、Xampp サーバーに付属の mysql データベースを使用する...

Dockerのインストール方法とDockerの4つのネットワークモードの詳細説明

1. Dockerをインストールするyum -y install docker-ioインストールが完...

一般的な Linux ツール vi/vim の完全版

なぜvimを学ぶのかLinuxには多数の設定ファイルがあるため、Linuxには多くのテキスト処理ツー...

Nginx の負荷分散アルゴリズムとフェイルオーバー分析

概要Nginx ロード バランシングは、アップストリーム サーバー (実際のビジネス ロジックによっ...

jQuery はラブエフェクトをクリックする

この記事では、jQueryのクリック時のラブエフェクトの具体的なコードを参考までに共有します。具体的...

Vue でフルスクリーンを実装し、フルスクリーン終了を監視する

目次序文:実装手順:完全なソースコード:詳細情報:序文: vueでは、デフォルトページを実装し、di...

jsはreduceメソッドを使用してコードをよりエレガントにします

序文実際のプロジェクトでは、最も一般的な処理は計算とループロジックである可能性があります。配列でre...

Vue 天気予報入門

この記事では、参考までに天気予報を実装するためのVueの具体的なコードを紹介します。具体的な内容は次...

JavaScript でのカスタム スワイパー コンポーネントの詳細な説明

目次エフェクト表示コンポーネント設定ステップ1ステップ2ステップ3コンポーネントの使用ステップ1ステ...

HTML ウェブページの基本コンポーネントの概要

<br />Web ページ上の情報は主にテキストベースです。 Web ページでは、フォン...

CSS導入方法4つのまとめ(共有)

1. インライン参照:ラベルに直接使用されるが、メンテナンスコストが高い スタイル='フォ...

Firefox で英語の文字が折り返されない問題の解決方法

テキストのレイアウトには、言語に応じていくつかの書式設定要件があります。たとえば、簡体字中国語では、...