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

推薦する

JavaScript を使用せずに HTML の a タグを無効にするには、純粋な CSS を使用します。

実際、この問題は、HTML の select タグを初めて学んだときにすでに発生していました。今日に...

Windows Server のインストール後にワイヤレスとオーディオが機能しない問題を解決する

1. ワイヤレスPowerShell を実行し、次のコマンドを入力します。 install-wind...

Dockerスペースがいっぱいでコンテナに入れない場合の解決策

トラブル発生が突然で、業務も迫っていたため、現場のスクリーンショットを撮る時間がありませんでしたので...

CSS 表示属性のインラインブロックレイアウト実装の詳細な説明

CSS 表示プロパティ注: !DOCTYPE が指定されている場合、Internet Explore...

Vue のプロダクション環境と開発環境を切り替えてフィルターを使用する方法

目次1. 本番環境と開発環境を切り替える最初の方法: .envファイルを設定する2番目の方法2. フ...

VUE ユニアプリテンプレート構文についての簡単な説明

1.v-bind(略称:)コンポーネント プロパティのデータで定義されたデータ変数を使用するか、コン...

JavaScript の toLocaleString() での時間フォーマットに関する新しいアイデア

目次1. 時刻表示に関する従来の考え方2. 時刻の書式設定 toLocaleString() Obj...

Reactイベントスロットリング効果が失敗する理由と解決策

目次ここでの問題は次の通りです:解決策1:解決策2: コンストラクタで初期化を割り当てる採掘場の概要...

MySQL の異常なエラー ERROR: 2002 を解決する方法

最近、MySQL の起動中にエラーが発生しました。エラー メッセージは次のとおりです。 エラー 20...

海外の無料写真素材サイトベスト9

良い画像素材のウェブサイトを見つけるのは難しいです。特に無料です。良い写真には非常に目を引く視覚効果...

Linux リモート管理と sshd サービス検証の知識ポイントの詳細な説明

1. SSHリモート管理SSH の定義SSH (Secure Shell) は、主にキャラクタ イン...

要素のフォームコンポーネントに関する注意事項

要素フォームとコード表示詳細はエレメントフォーム公式サイトをご覧ください構造と機能の分析紹介とソース...

JavaScript プロトタイプの詳細

目次1. 概要1.1 プロトタイプとは何ですか? 1.2 プロトタイプを入手する2. プロトタイプの...

Linux での MySQL 5.7.18 バイナリ パッケージのインストール チュートリアル (デフォルトの構成ファイル my_default.cnf なし)

現在、MySQL を学習中です。私は完全な初心者で、Linux についてはあまり知りません。今後の作...

MySQL ファントムリードとその排除方法の詳細な説明

目次トランザクション分離レベルファントムリーディングとは何ですか?ファントムリードを排除する方法要約...