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

推薦する

Vueはソースコード付きのリファレンスライブラリのメソッドを使用します

monaco-editor-vueの公式ソースコードは次のとおりです。インデックス 'mon...

uniAppエディタWeChatスライド問題について

ユニアプリアプレットはWeChatでも同様のドロップダウン問題を抱えることになる解決策は、app.v...

NodeJs の高メモリ使用量のトラブルシューティング実戦記録

序文これは、オンライン コンテナーの拡張によって発生した調査です。最終的には、実際の OOM が原因...

Linux ディスク パーティションの実装の原理と方法の分析

覚えて: IDE ディスク: 最初のディスクは hda、2 番目のディスクは hdb...最初のディ...

優れたウェブサイトのコピーライティングと優れたユーザーエクスペリエンス

ウェブサイトを見るというのは、実は美しい女性を評価するようなものです。見た目を見るとき、私たちは見た...

Portainer を使用して複数の Docker コンテナ環境を管理する方法を説明します。

目次Portainerは複数のDockerコンテナ環境を管理します2. Dockerを管理する2.1...

CSS -webkit-box-orient: コンパイル後に垂直プロパティが失われる

1. 原因要件は 2 行を表示することであり、余分なテキストは 3 つのドットに置き換えられるため、...

HTML テーブル マークアップ チュートリアル (18): テーブル ヘッダー

<br />ヘッダーはテーブルの最初の行を参照します。ヘッダー内のテキストは中央揃えで太...

nohup /dev/null 2>&1 の使い方の詳しい説明

nohup コマンド: プロセスを実行しており、アカウントからログアウトしてもプロセスが終了しないと...

Windows で mysql 8.0.12 をインストールするための詳細なチュートリアル

この記事では、MySQL 8.0.12のインストール方法に関する詳細なチュートリアルを参考までに紹介...

MySQL 5.7.22 バイナリパッケージのインストールとインストール不要版 Windows 設定方法

次のコードは、MySQL 5.7.22 バイナリ パッケージのインストール方法を紹介しています。具体...

Dockerでrabbitmqをデプロイする際に発生した2つの問題

1. 背景DockerでRabbitMQをデプロイする際に、次の2つの問題が発生します。問題1: ス...

Javascriptの基本ループの詳しい説明

目次サイクルのために入室のためのその間しながら行うループから抜け出す要約するサイクルのためにループは...

上部の固定ナビゲーションバーによって CSS アンカーの配置がブロックされる問題の解決方法

多くのウェブサイトでは、ユーザーが簡単に検索したり他のページに移動したりできるように、上部にナビゲー...