入力が正しいにもかかわらず、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'」というメッセージが表示されます。

推薦する

H5 WeChatパブリックアカウント認証を実装するための簡単な手順

序文昨日、h5 WeChat認証の実装が必要なプロジェクトがありました。したがって、この機能を完了す...

JavaScript のアンチシェイクとスロットリングの違いと実装

目次1. 手ぶれ補正2. スロットリング3. まとめ序文:フロントエンド開発者には、次の 2 つの要...

MySQLクライアントとサーバーのプロトコルの解釈

目次MySQL クライアント/サーバー プロトコルMySQL サーバーから高いパフォーマンスを得る必...

CSSとHTMLを組み合わせる4つの方法

(1)各HTMLタグには属性スタイルがあり、CSSとHTMLを組み合わせている。 <div s...

Ubuntu 18.04 (コミュニティ エディション) に Docker CE をインストールする方法

古いバージョンをアンインストールする以前に古いバージョンをインストールしたことがある場合は、まずそれ...

CSS3 背景コントロールプロパティと色遷移を使用してグラデーション効果を実現します。

CSS3 背景画像関連互換性: IE9+背景クリップ 背景画像描画領域background-cli...

Nginx+ModSecurity セキュリティモジュールの導入

目次1. ダウンロード2. 展開1.Nginxのデプロイメント2. ModSecurityの展開3....

VueコンポーネントライブラリElementUIはテーブルリストのページング効果を実現します

ElementUIはテーブルリストのページング効果のチュートリアルを実装しています。参考までに。具体...

フロントエンドセキュリティの詳細な説明: JavaScript の http ハイジャック対策と XSS

目次HTTP ハイジャック、DNS ハイジャック、XSS HTTPハイジャックDNSハイジャックXS...

Ubuntu 20.04でLNMP環境を構築する方法

簡単な説明以前 Centos7 で構築し、その後個人開発環境として Ubuntu 20.04 を使っ...

Webデザインチュートリアル(7):Webデザインの効率化

<br />前の記事:Webデザインチュートリアル(6):デザインへの情熱を持ち続けまし...

webpackが静的リソースキャッシュを実装する方法

目次導入複数の異なるハッシュを区別するハッシュチャンクハッシュコンテンツハッシュjs キャッシュの実...

MySQL ツリー構造データベース テーブル設計

目次序文1. 基本データ2. 継承駆動設計3. 左右の値のエンコーディングに基づく設計4. ツリー構...

MySQLでNULL値を判定する際の落とし穴事例

目次序文Mysql の case when 構文:事例実践:要約:序文今日、プログラムを開発している...

MySQL ストアド プロシージャの作成、呼び出し、管理の詳細な説明

目次ストアドプロシージャの概要ストアド プロシージャを使用する理由は何ですか?ストアドプロシージャの...