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

推薦する

JSはタイムラインの自動再生を実現する

最近、次のような効果を実装しました。再生ボタンをクリックするとタイムラインの再生が開始され、一時停止...

ブロックレベル要素、インライン要素、可変要素の概要

ブロック要素p - 段落テキストの事前フォーマットテーブルol - ソートフォームul - 順序なし...

MySQL5.7 シングルインスタンス自動起動サービスの設定プロセス

1.MySQLのバージョン [root@clq システム]# mysql -v MySQL モニター...

Docker を使用した MySQL のデプロイの詳細説明 (データ永続化)

この記事では、Docker を使用して MySQL をデプロイし、データを保持する方法について簡単に...

Docker で Confluence をデプロイする

1. 環境要件1. Docker 17以上がインストールされている2. コンテナ操作docker r...

UDP DUP タイムアウト UPD ポート状態検出コード例

以前、単純な UDP サーバーとクライアントの例を書きましたが、その中で、自分自身をクライアントと見...

DockerにNginxをインストールする方法

DockerにNginxをインストールするNginx は、IMAP/POP3/SMTP サービスも提...

新しい Linux ファイル権限設定における umask の詳細な理解

序文起源は質問 1 です: umask が 022 に設定されている場合、作成するファイルのデフォル...

js を使用してシンプルなスイッチ ライト コードを実装する

体の部位: <button>ライトのオン/オフを切り替える</button>...

ウェブページのFOUC問題によるウェブページの混乱の解決策

FOUC は Flash of Unstyled Content の略で、FOUC と略されます。簡...

Vueエンジニアがカプセル化しなければならない埋め込み命令の知識のまとめ

目次序文指導の基本フック機能フック関数のパラメータ文章使い方とアイデア成し遂げる汎用性を高める要約す...

MySQL 8.0.20 winx64 のインストールと設定方法のグラフィックチュートリアル

この記事では、MySQL 8.0.20 winx64 のインストールと設定方法を次のように説明します...

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

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

mysql データ型変換の実装

1. 問題下図のような表があり、結果値がreference_high値より大きいデータを見つける必要...

Linux で MySQL 5.7.19 をアンインストールする方法

1. MySQLが以前にインストールされていたかどうかを確認するコマンド: rpm -qa|grep...