この方法は2021年2月7日に編集されました。私が使用しているバージョンは8.0.23です。事件の原因は袁龍平教授から始まりました...それは教科書から始まりました。「MySQLセキュリティ管理と権限管理」という章があり、ルートアカウントの変更について言及しています 追記:この方法は、ルートパスワードを忘れたり、変更したり、間違えたりした人に適しています。 実用主義の精神で、MySQL データベース (現在は root としてログイン) に次のように入力しました。 ユーザーを更新します。authentication_string=MD5("123") を設定します。ここで、user = "root"、host = "localhost" です。 権限をフラッシュします。 ここで、現在のBaidu Googleチュートリアルについてお話しします。まず、生徒は自分のユーザーテーブル構造を見ることができます。ユーザーテーブルでは、一般的に、localhostのホスト列、ユーザー名rootのユーザー列、パスワードを保存するauthentication_string列の3つのフィールドが最も重要です。 desc ユーザー; 注: パスワードを保存するためのフィールドは、もはやパスワードではありません (古いバージョンではそうかもしれませんが、ルート パスワードを変更するための多くのチュートリアルでは、まだパスワードになっています)。 次に、私の新しいバージョンでは、ここではパスワード機能が適用されません。 教科書では MD5 暗号化が使用されています。 現在、多くの Baidu のものはまだ次のようになっています。 この方法はもう適用できません。 ...パスワード = パスワード("123")... 上記のコードを入力した後、ログアウトしてサーバーを再起動し、新しいパスワード 123 でログインしようとしましたが、パスワードが間違っているというエラー メッセージが表示されました。
その後、私は3時間かけてBaidu Guideを検索し、パスワードを取得しようとしましたが、すべて失敗に終わりました。 1. パスワード不要のログインmysql ログインをパスワードフリー ログインに設定します (debian.cnf 設定の debian-sys-maint アカウントを使用してログインし、root パスワードを変更できるかどうかはわかりません。debian の権限では root を変更するのに十分ではないと思うので、root パスワードフリー ログインを選択しました。興味のある学生は試してみてください。この手順は主にサーバーに入るためのものです)。具体的な方法は次のとおりです。 phpMySQL の .conf ファイル etc 設定を変更するには su 権限が必要なので、sudo を使用して開きます。もちろん、ホーム ディレクトリの設定をカスタマイズしていないため、すべてデフォルトです。この設定は人によって異なる可能性があり、自分で設定した可能性があります。次に、ターミナルで mysql --help を使用して、現時点で有効な設定を確認できます。もちろん、一度にすべてを見つけるのは簡単ではありません。たとえば、現在の設定ファイルは 2 番目の /etc/mysql/my.cnf にありますが、開いても設定オプションはありません。パスが 2 つあります。このパスは、"ネストされた" パスのように、実際の設定ファイルです。 sudo vim mysqld.cnf 開いたら、[mysqld]の15行目あたりに次の行を挿入します。 次に保存して vim を終了します。 2. authentication_stringパスワードをクリアする実は、私はこのステップに誤って遭遇し、インターネット上のさまざまなコピーされたチュートリアルに惑わされました。今夜、ユーザー テーブルを調べていたところ、プラグイン フィールドがデフォルトで caching_sha2_password になっているのがわかりました。そのため、以前は md5 暗号化ではなく sha2 を使用すべきだったのではないかと考えました。 ユーザーを更新します。set authentication_string=sha2("1234",32) where user = 'root'; 権限をフラッシュします。 次に、ユーザー テーブルのルート データを確認すると、authentication_string の値が null になっていることがわかりました。この時点で、パスワードなしで実際にログインできるという予感がしました。構成ファイルに戻り (sudo が使用されていることに注意してください)、上記のコード行を構成ファイルに追加します。 スキップ許可テーブル 削除してMySQLサーバーを再起動してログインします mysql -u ルート 予想通り、この時点でルート アカウントのパスワードはクリアされているので、本当のパスワードなしのログインはできますが、sha2 ダイジェスト アルゴリズムがパスワードを計算せずにパスワードをクリアするのはなぜかわかりません。誰か知っているはずです... 3. パスワードをリセットするパスワードのリセットは簡単で、コードを 1 行書くだけです。 ALTER USER 'root'@'localhost' を mysql_native_password によって '123' で識別します。 ps: MySQL を初めてインストールした後は、パスワードがありません。サーバーに初めてログインするときは、sudo mysql -uroot でログインする必要がある場合があります。ログイン後、MySQL のルートパスワードを自分で設定します。設定方法は上記のコードとまったく同じです。 4. 終了その後、新しいパスワードでMySQLに再度ログインできます。 mysql -u ルート -p123 5. 最後
これで、MySQL バージョン 8.0.23 のルート パスワードをリセットするための最適なソリューションに関するこの記事は終了です。MySQL 8.0.23 のルート パスワードをリセットする方法の詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: Nginx Httpモジュールシリーズにおけるautoindexモジュールの具体的な使用法
背景ブロックチェーン ログ モジュールで作業しているときに、コンテナーが実行されている場合は、ログ ...
目次概要CommonJS 仕様Node の CommonJS 仕様の実装モジュールのエクスポートとイ...
序文テストを行う際、大量のデータによる負荷に耐えるプロジェクトの能力をテストするために、通常はテスト...
序文実際、Linux では、控えめな「!」が驚くほど多くの用途で使用されています。この記事では、「!...
原因このブログを書いた理由は、今日Leetcodeの日課問題をやっていたからです。文字列を整数(at...
1. Docker とは何ですか?仮想マシンについては誰もが知っています。Windows に Li...
1. はじめに行ロックとテーブルロックの違いは面接で頻繁に出てくるはずです。MySQL のロックにつ...
この記事では、簡単な虫眼鏡効果を実現するためのjsの具体的なコードを参考までに共有します。具体的な内...
昨日、a:visited を使用して「Guess You Like」の右側にある訪問済みテキストの色...
float の使用例左サスペンション: float:left;右サスペンション: float:rig...
序文今日はちょっとしたデモを書きました。左右にスワイプするロジックに関わる部分があります。当初はプラ...
目次Docker イメージ鏡とは何ですか? Dockerイメージの読み込み原理コミットミラーDock...
MySQL 5.7 より前のバージョンのパスワードを変更する方法:方法1: SET PASSWORD...
世界最高のビジュアル デザイン スキルを持っていたとしても、訪問者がページ間やアイテム間を快適に移...
この記事では、divのドラッグ可能な高さを実現するためのVueの具体的なコードを参考までに共有します...