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

推薦する

MySQL バッチ挿入ループの詳細なサンプルコード

背景数日前、MySql でページングを行っていたときに、ページングに制限 0,10 を使用するとデー...

Ubuntu Server 16.04 MySQL 8.0 のインストールと設定のグラフィックチュートリアル

Ubuntu Server 16.04 MySQL 8.0 のインストールと設定のグラフィックチュー...

JSネイティブ2列シャトル選択ボックスの実装例

目次いつ使うか構造的ブランチコードいつ使うか選択動作を完了するには、2 つの列間で要素を直感的に移動...

Docker コンテナ入門から夢中になるまで(推奨)

1. Docker とは何ですか?仮想マシンについては誰もが知っています。Windows に Li...

Centos8 に nginx をインストールするための詳細なチュートリアル (画像とテキスト)

Nginx (「エンジン エックス」と発音) は、インターネット上の最大規模のサイトの負荷を処理す...

純粋な CSS 実装 (スクリプトなし) HTML コマンド スタイルのツールチップ テキスト プロンプト効果

実行プロセスを分析します。マウスをノードに移動して、ノードにツールチップ実装を開くための識別子 (...

フロントエンド開発における一般的なテクニックのまとめ

1. 記事タイトルリストの右側に日付を表​​示する方法:コードをコピーコードは次のとおりです。 &l...

CentOS7 は yum を使用して mysql 8.0.12 をインストールします

この記事では、centos7にyumを使用してMySQL 8.0.12をインストールする詳細な手順を...

JS における ES6 継承と ES5 継承の違い

目次継承ES5 プロトタイプ継承ES6 クラス継承両者の違いES5プロトタイプ継承の内部実装ES6 ...

MySQL における datetime と timestamp の違いと選択

目次1 違い1.1 スペース占有1.2 表現範囲1.3 タイムゾーン2 テスト3つの選択肢MySQL...

Vue でのテキストエリア適応高さソリューションの実装

目次隠れた問題適応高さのソリューションまず解決策を提示してください。Vueスタックが必要な学生はvu...

vue+springbootでログイン機能を実現

この記事の例では、ログイン機能を実現するためのvue+springbootの具体的なコードを参考まで...

Vue 基本チュートリアル: 条件付きレンダリングとリストレンダリング

目次序文1.1 機能1.2 要素の可視性を制御する方法1.3 初期レンダリングの比較1.4 スイッチ...

MySQL 5.7 で my.ini ファイルが見つからない場合の解決策

my.ini とは何ですか? my.ini は、MySQL データベースで使用される設定ファイルです...