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 におけるマップマッピングの基本概念と一般的な方法

推薦する

Linux仮想マシンを作成し、仮想マシンネットワークを設定する方法に関するVMwareの詳細なチュートリアル

VMware で Linux 仮想マシンを作成し、VMware と仮想マシンのネットワークを設定する...

Vue 画像切り抜きコンポーネントのサンプルコード

例:ヒント:このコンポーネントはvue-cropperの二次パッケージに基づいていますプラグインをイ...

Docker Gitlab+Jenkins+Harborは永続的なプラットフォーム運用を構築します

CI/CD の概要CIワークフロー設計Gitコードバージョン管理システムはコマンドラインでのみ管理で...

CentOS に Memcached と PHP Memcached 拡張機能をインストールする

高性能分散メモリオブジェクトキャッシュシステムMemcachedについては、別の記事「Windows...

ウェブフォームデザインのための5つの実用的なヒント

1. フォームテキスト入力のモバイル選択: テキスト入力フィールドにプロンプ​​トが追加されている場...

Docker で MySQL 接続と設定ファイルの最大数を変更する

1. MySQLイメージを見つける ドッカーps 2. ミラーmysqlイメージを入力する dock...

nginx の default_server 定義とマッチングルールの詳細な説明

nginx の default_server ディレクティブは、server_name と一致しない...

CSS でのフレックスレイアウトの詳細な説明

フレックス レイアウトは、エラスティック レイアウトとも呼ばれます。任意のコンテナーをフレックス レ...

Win10 64 ビットで圧縮パッケージを使用して最新の MySQL 8.0.18 をインストールするチュートリアル (画像とテキスト付き)

WIN10 64ビットに最新のMySQL8.0.18をインストールダウンロード公式サイトから最新バ...

Unicode の数学記号の概要

数学、物理学、および一部の科学技術分野で使用される特殊記号は多数あります。Unicode コードには...

ウェブページ経由で jar パッケージを Nexus にアップロードする方法

Maven を使用してプロジェクトを管理する場合、jar パッケージをプライベート ウェアハウスにア...

Linux での MySQL のインストールに関するチュートリアル

目次1. 古いバージョンを削除する2. サーバーのカーネルタイプを確認し、適切なバージョンをダウンロ...

CocosCreator の新しいリソース管理システムの分析

目次1. 資源と建設1.1 クリエイターリソースファイルの基本1.2 リソースの構築2. アセットバ...

VueのTodoListケースの詳しい説明

<テンプレート> <div id="ルート"> <...

Dockerを使用してgitlabコミュニティの中国語版を構築する詳細なプロセスを教えます

1. Docker Composeを使用して起動を構成するDocker Compose を知らない場...