MySQL 5.7 でパスワードを忘れた場合の解決方法の詳細な説明

MySQL 5.7 でパスワードを忘れた場合の解決方法の詳細な説明

環境:

[root@centos7 ~]# uname -r
3.10.0-514.el7.x86_64
[root@centos7 ~]# cat /etc/redhat-release 
CentOS Linux リリース 7.3.1611 (コア) 
[root@centos7 ~]# rpm -qa mysql
[root@centos7 ~]# rpm -qa |grep mysql
mysql-コミュニティ-共通-5.7.26-1.el7.x86_64
mysql-コミュニティクライアント-5.7.26-1.el7.x86_64
mysql57-コミュニティリリース-el7-11.noarch
mysql-コミュニティサーバー-5.7.26-1.el7.x86_64
mysql-コミュニティライブラリ-5.7.26-1.el7.x86_64
mysql-コミュニティ-ライブラリ-compat-5.7.26-1.el7.x86_64

ログイン中にエラーが発生しました:

[root@centos7 ~]# mysql -u root -p
パスワードを入力してください: 
エラー 1045 (28000): ユーザー 'root'@'localhost' のアクセスが拒否されました (パスワード使用: NO)

パスワードを忘れました(インストール後にパスワードがわからない場合と同じです)

インターネット上では、MySQL のパスワードは空のパスワードだと言う人がいます。実際、MySQL バージョン 5.7 以降では、パスワードは空のパスワードではなくなりました。

新しくインストールされた場合は、mysqlログファイルで見つけることができます。

grep '一時パスワード' /var/log/mysqld.log

補足:mysqlから提供されたパスワードが見つかった場合は、

mysqladmin -u root -p 'mysql によって提供されたパスワード' password '新しいパスワード'

mysql パスワードを直接変更しますが、この方法にはセキュリティ上のリスクがあります。結局、パスワードはコマンドラインに表示されます。推奨されませんが、反対ではありません。

忘れた場合は、次のように変更してください。

1. /etc/my.cnf を変更し、skip-grant-tables を追加します。

[root@centos7 ~]# vim /etc/my.cnf

空白の位置に追加し、保存して終了します。

[mysqld]
     
名前解決をスキップ
スキップ許可テーブル
[root@centos7 ~]# systemctl mysqldを再起動します

2. 空のパスワードで直接 mysql を入力します。

[root@centos7 ~]# mysql -u root -p
パスワードを入力してください: (これは空のパスワードです。Enter キーを押してください)
MySQL モニターへようこそ。コマンドは ; または \g で終わります。
MySQL接続IDは2です
サーバーバージョン: 5.7.26 MySQL コミュニティサーバー (GPL)
 
Copyright (c) 2000, 2019, Oracle およびその関連会社。無断複写・転載を禁じます。
 
OracleはOracle Corporationおよびその関連会社の登録商標です。
その他の名称は各社の商標である場合があります。
所有者。
 
ヘルプを表示するには、「help;」または「\h」と入力します。現在の入力ステートメントをクリアするには、「\c」と入力します。
 
マイSQL>

mysql データベースを入力します。

mysql> mysqlを使用する
テーブル名と列名の補完のためのテーブル情報の読み取り
-Aでこの機能をオフにすると起動が速くなります。
 
データベースが変更されました
マイSQL>

ここでの mysql は変更されていませんが、データベースの場所が変更されています。

3. パスワードを変更します。UPDATE user SET authentication_string=PASSWORD('newpassword') where USER='root';

mysql> UPDATE user SET authentication_string=PASSWORD('newpassword') where USER='root';
クエリは正常、1 行が影響を受け、1 つの警告 (0.00 秒)
一致した行: 1 変更された行: 1 警告: 1
 
マイSQL> 
mysql> 権限をフラッシュします。
クエリは正常、影響を受けた行は 0 行 (0.00 秒)
 
マイSQL>

4 /etc/my.cnfに戻ります

#skip-grant-tables をコメントアウトする

[root@centos7 ~]# vim /etc/my.cnf
[mysqld]
     
名前解決をスキップ
#許可テーブルをスキップする
[root@centos7 ~]# systemctl mysqldを再起動します

5. 新しいパスワードで再度mysqlを入力します。

[root@centos7 ~]# mysql -u root -p 
パスワードを入力してください: (前のデモの新しいパスワード)
MySQL モニターへようこそ。コマンドは ; または \g で終わります。
MySQL接続IDは6です
サーバーバージョン: 5.7.26
 
Copyright (c) 2000, 2019, Oracle およびその関連会社。無断複写・転載を禁じます。
 
OracleはOracle Corporationおよびその関連会社の登録商標です。
その他の名称は各社の商標である場合があります。
所有者。
 
ヘルプを表示するには、「help;」または「\h」と入力します。現在の入力ステートメントをクリアするには、「\c」と入力します。
 
マイSQL>

6. ルート パスワードを変更します。 alter user 'root'@'localhost' identified by 'password';

ユーザーパスワードを変更します。

'123456' によって識別されるユーザー testuser を変更します。

現在ログインしているユーザーを変更する

'123456' によって識別される USER USER() を変更します。
mysql> 'Linuxpassword!@#' で識別されるユーザー user() を変更します。
エラー 1819 (HY000): パスワードが現在のポリシー要件を満たしていません
mysql> 'LINUX123password!@#' で識別される user() を変更します。
クエリは正常、影響を受けた行は 0 行 (0.00 秒)
 
マイSQL> 

パスワードの複雑さには大きな要件があることがわかります。

7. 変更が完了したら、mysqlの操作を続行できます。

mysql> データベースを表示します。
+--------------------+
| データベース |
+--------------------+
| 情報スキーマ |
|mysql |
| パフォーマンススキーマ |
|システム|
+--------------------+
セット内の 4 行 (0.00 秒)
 
mysql>終了
さよなら

以上が、編集者が紹介したMySQL 5.7のパスワードを忘れた場合の解決方法の詳細な説明です。皆様のお役に立てれば幸いです。ご質問がございましたら、メッセージを残してください。編集者がすぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。

以下もご興味があるかもしれません:
  • Linux 上の MySQL 5.7 でパスワードを忘れる問題を解決する
  • MySQL 5.7 および MySQL 8.0 でルートパスワードを変更する方法の概要
  • MySQL 5.7.20 解凍版のインストールとルートパスワードの変更に関するチュートリアル
  • MySQL 5.7.21 のインストールとパスワード設定のチュートリアル
  • Centos7.3 で mysql5.7.18 をインストールして初期パスワードを変更する方法
  • mysql5.7.18のインストールと初期パスワードの変更方法
  • MySQL 5.7.18 でパスワードを変更する方法
  • MAC で Mysql5.7.10 のルートパスワードを変更する方法
  • Mysql5.7 のルートパスワードを忘れた場合の対処法 (シンプルで効果的な方法)
  • Mysql5.7.14 インストールと設定方法操作グラフィックチュートリアル(パスワード問題解決)

<<:  dig/nslookup コマンドを使用して DNS 解決手順を表示する方法

>>:  ECMAScript6 におけるマップマッピングの基本概念と一般的な方法

推薦する

CSS は、モバイル端末でクリックされたときに生成された要素の背景色を削除します (推奨)

クリック時に背景色を生成する要素の CSS スタイルに次のコードを追加します。 -webkit-ta...

Ajax jQueryはページ上のdivの更新効果を実現します

元のコードは次のとおりです。 <div class='コントロールグループ'&...

Mybatis ファジークエリ実装方法

Mybatis ファジークエリ実装方法mybatis のリバース アシスタントは非常に使いやすく、通...

ES9の新機能の詳細な説明: 非同期反復

目次非同期トラバーサル非同期反復可能トラバーサル非同期反復生成非同期メソッドと非同期ジェネレーター非...

CSS3 で Taobao に空白スペースを実装する方法

Taobao用の空白スペースを作成します。 ブラウザページを縮小すると、コンテンツ領域は縮小されませ...

Mysql 5.7.19 無料インストール版 (64 ビット) の設定方法に関する詳細なチュートリアル

公式サイトから mysql-5.7.19-winx64 をダウンロードします。これはシステムの 64...

Linux でディスクをマウントし、起動時に自動的にマウントするように設定する方法

皆さんの時間は貴重だと承知しているので、プロセス コマンドを直接書き留めておきます。設定できます。原...

yum インストールエラーの問題を解決する 保護されたマルチライブラリバージョン

現在、クラウドサーバーに nginx をインストールする際、最初に zlib などの依存ライブラリを...

リモート Linux システムでポートが開いているかどうかを確認する 3 つの方法

これは、Linux 管理者だけでなく、私たち全員にとって非常に重要なトピックです。つまり、IT イン...

Tomcat サーバーが tomcat7w.exe を開けない場合の解決策

今日、Tomcat サーバーの設定時にちょっとした問題が発生したので、参考までにいくつかご説明したい...

MySQL における 8 つの一般的な SQL 使用例

序文MySQL は、2016 年もデータベースの人気において力強い成長傾向を維持し続けました。 My...

Vue.js の計算プロパティ、監視プロパティ、ライフサイクルの詳細な説明

目次序文計算されたプロパティ計算プロパティの紹介入門ケース統計価格事例ゲッターメソッドとセッターメソ...

mysql MDLメタデータロックの詳細な分析

序文: MySQL で SQL 文を実行すると、予想した時間内に文が完了しません。このような場合、通...

SSMは、mysqlデータベースアカウントのパスワード暗号文ログイン機能を実装します。

導入当社は、情報セキュリティと機密アプリケーションに関わるいくつかのプロジェクトの研究開発に従事して...

JS 1次元配列を3次元配列に変換する例

今日、CSDN の Q&A セクションで友人が質問をしているのを見ました。彼は 1 次元配列...