入力が正しいにもかかわらず、MySQL 8.0 でアクセスが拒否される問題を解決する

入力が正しいにもかかわらず、MySQL 8.0 でアクセスが拒否される問題を解決する

最近、MySQL を学び始めました。インストールはスムーズに進み、インターネット上の既成のチュートリアルに従って正常にインストールできました。

しかし、

mysql -uroot -p

再度パスワードを入力すると、このような状況に遭遇しました

ユーザー 'root'@'localhost' のアクセスが拒否されました (パスワードの使用: YES)

オンラインで多くの解決策を見つけましたが、基本的に解決策は1つしかありません。それは、.iniファイルにmysqldエントリを追加することです。

スキップ許可テーブル

その後、サーバーを再起動して、もう一度手順に従います(最後にパスワードを入力しないでください)。ただし、まだ停止するステートメントがあります。

ユーザー 'root'@'localhost' のアクセスが拒否されました (パスワードの使用: NO)

インターネットでいろいろな方法を組み合わせて一つずつ試してみた結果、ようやく成功しました。

全体的な考え方は、.ini 構成ファイルの内容を変更することですが、コマンドラインから変更します。バージョンの反復により、ファイルを直接変更する以前の方法がブロックされたためかどうかはわかりません。いずれにせよ、MySQL 8.0 ではコマンドラインから変更することが可能です。

始めましょう。

管理者としてcmdを開き、MySQLのbinディレクトリに切り替えます。

MySQLサーバーをシャットダウンする

ネットストップmysql

パスワード入力手順をスキップします(注意:ファイル名とパスは自分のものと一致する必要があります)

mysqld --defaults-file="D:\MySQL\my.ini" --console --skip-grant-tables

スクリーンショットで囲んだような文が表示されたら成功を意味します

サーバーを再起動します

ネットスタートMySQL

MySQLサーバーにログインする

mysql -uroot -p

パスワードを入力すると正常にログインできます。 (数字の1は文字のlに非常に似ています)

この時点でほぼ完了ですが、

データベースを表示します。

MySQL からのフィードバックは次のとおりです。

このステートメントを実行する前に、ALTER USER ステートメントを使用してパスワードをリセットする必要があります。

私の推測では、MySQL はインストール中に提供されたランダム パスワードが安全でないと判断し、ユーザーにパスワードのリセットを求めます。

ネットで検索したら、既成の解決策が見つかりました。

参考記事: https://dev.mysql.com/doc/refman/5.7/en/alter-user.html

パスワードは無期限です

ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password' PASSWORD EXPIRE NEVER;

パスワードには期限があります

ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password' PASSWORD EXPIRE;

その後、再度サーバーにログインすると正常に動作します。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Win10 での MySQL 8.0 ログインでユーザー 'root'@'localhost' のアクセスが拒否される (パスワード使用: YES) 問題の解決方法
  • Linux で MySQL に接続するときに発生するエラーを解決する方法: ユーザー 'root'@'localhost' へのアクセスが拒否されました (パスワードの使用: YES)
  • Ubuntu システムにおける Mysql ERROR 1045 (28000): ユーザー root@localhost へのアクセスが拒否される問題の解決方法
  • MySQL でデータベースを作成した後、ユーザー ''root''@''%'' によるデータベース ''xxx'' へのアクセスが拒否される問題を解決する
  • Ubuntu 16.04 に MySQL 5.7.17 をインストールした後、ログイン時に発生するエラー 1045 (28000): ユーザー ''root''@''localhost'' へのアクセスが拒否される問題を解決します。
  • MySQLをインストールした後、ログイン時にルートアカウントプロンプトが表示されます。mysql ERROR 1045 (28000): アクセスが拒否されました。解決策
  • mysql ユーザー 'root'@'localhost' のアクセスが拒否されました (パスワード使用: YES) 解決策

<<:  フォームで完全な選択または逆選択効果を実現する JavaScript

>>:  Baotaパネルを再起動すると、「-ModuleNotFoundError: No module named 'geventwebsocket'」というメッセージが表示されます。

推薦する

HTML ページで JSON データを表示およびフォーマットする方法

JSONデータはHTMLページ上に表示されフォーマットされます1. 表示効果図説明:すべてのキー値は...

MySQLはinit-connectを使用してアクセス監査機能の実装を増やします

まず init-connect を通じて mysql 接続を初期化し、次にインスタンスに接続する必要...

HTML でカスタム画像を使用してチェックボックスを表示する方法

チェックボックスの使用を実装するために画像を使用する必要がある場合は、それを使用して実装できます。実...

html2canvas を使用して、Baidu マップを含む Dom 要素を画像に処理するソリューション

問題 1: Baidu Map はタイル画像 (地図が写真で構成されている) を使用しています。ht...

モバイルプラットフォーム開発におけるメタタグの適用の詳細な説明

デスクトップ プラットフォームの Web レイアウトのメタ タグは誰もがよく知っています。これは常に...

mysqlは指定された期間内の統計データを取得します

mysqlは指定された期間内の統計データを取得します年別統計 選択 カウント(*)、 DATE_FO...

Docker に nginx をインストールし、https 経由でアクセスを構成する方法

1. 最新のnginx dockerイメージをダウンロードする $ docker pull ngin...

HTML テーブル マークアップ チュートリアル (15): テーブル タイトル

<br />このタグを使用すると、表のタイトルを直接追加し、タイトル テキストの配置プロ...

MySQL 5.7 インストール MySQL サービスを開始できませんが、サービスはエラーを報告しません

MySQL 5.7 をインストールするには 2 つの方法があります。1 つはインストーラをダウンロー...

選択ドロップダウンメニューのテキストを左右にスクロールするように設定する

marquee タグを使用してフォントのスクロールを設定したいです。コードは次のように記述しましたが...

シンプルなタブバー切り替えコンテンツバーを実装するJavaScript

この記事では、タブバーの切り替えコンテンツバーを簡単に実現するためのJavaScriptの具体的なコ...

親要素を基準にCSSの位置を絶対的に設定する方法についての簡単な説明

ご存知のとおり、CSS の絶対位置はデフォルトでドキュメントに応じて設定されます。たとえば、posi...

jsはショッピングサイトの虫眼鏡機能を実現します

この記事では、ショッピングサイトの虫眼鏡機能を実現するためのjsの具体的なコードを紹介します。具体的...

Windows 上の MySQL 5.6 で my.ini 設定ファイルを見つける方法

忘れてしまった場合に後で戻って確認できるようにメモしておいてください。問題の説明:今日はちょっとした...

MYSQLはUnionを使用して2つのテーブルのデータを結合し、表示します。

UNION演算子の使用union : 2 つ以上の SELECT ステートメントの結果を 1 つの...