Linux MySQL ルートパスワードを忘れた場合の解決方法

Linux MySQL ルートパスワードを忘れた場合の解決方法

MySQL データベースを使用する際、何らかの理由で長期間 MySQL にログインしていない場合、または作業の引き継ぎがうまく完了していない場合は、データベースのルート ログイン パスワードを忘れてしまうことがあります。この問題をどのように解決すればよいでしょうか。

1. my.cnf設定ファイルを変更する

1. 次のコマンドを使用して、/etc/my.cnf 構成ファイルを編集します: vim /etc/my.cnf または vi /etc/my.cnf または nano /etc/my.cnf

2. [mysqld]の下にskip-grant-tablesを追加し、保存して終了します。

3. mysqlサービスを再起動します: service mysqld restart

2. ルートユーザー名を変更する

1. 再起動後、mysqlコマンドを実行してmysqlコマンドラインに入ります。

2. ルートユーザーのパスワードを変更する

MySQL> UPDATE mysql.user SET Password=PASSWORD('新しいパスワード')、USER='root';
MySQL> 権限をフラッシュします。
MySQL>終了

注: 上記はバージョン5.7以前のものです。バージョン5.7以降にはパスワードフィールドがなく、パスワードフィールドはauthentication_stringに変更されています。

mysql> update mysql.user set authentication_string=password('root123456') where user='root'; #パスワードが正常に変更されました
クエリは正常、1 行が影響を受け、1 つの警告 (0.00 秒)
一致した行: 1 変更された行: 1 警告: 1
mysql> 権限をフラッシュします; #即時有効
クエリは正常、影響を受けた行は 0 行 (0.00 秒)

mysql>終了
さよなら

n>mysql -u ******* -p #このユーザーで正常にログインしました。
パスワードを入力してください: ********
…………………………
マイSQL>

注: 5.7 以降のバージョンでは、パスワードは 123456 のように単純すぎることはできません。そうでない場合は、次のエラーが報告されます: エラー 1819 (HY000): パスワードが現在のポリシー要件を満たしていません。

この時点で、パスワードをより複雑に設定するか、設定を変更します。

これは実際にはvalidate_password_policyの値に関連しています。

validate_password_policy には次の値があります。

デフォルト値は 1 で、これは中程度を意味します。そのため、最初に設定しているパスワードは長さを満たし、数字、小文字または大文字、特殊文字を含める必要があります。
時々、自分自身のテストのためだけに、複雑なパスワードを設定したくないことがあります。たとえば、ルート パスワードを 123456 に設定したいだけです。
2 つのグローバル パラメータを変更する必要があります。

まず、validate_password_policy パラメータの値を変更します。mysql> set global validate_password_policy=0;
クエリは正常、影響を受けた行は 0 行 (0.00 秒)
1
2
デフォルトではvalidate_password_lengthパラメータは8ですが、これを1に変更します。

mysql> グローバルvalidate_password_lengthを1に設定します。
クエリは正常、影響を受けた行は 0 行 (0.00 秒)
1
2
4. 完了後、パスワード変更ステートメントを再度実行して成功させます。mysql> alter user 'root'@'localhost' identified by '123456';
クエリは正常、影響を受けた行は 0 行 (0.00 秒)

3. 最後に、/etc/my.cnf の skip-grant-tables をコメントアウトし、mysql を再起動します。つまり、service mysqld restart です。

これで、新しい root パスワードを使用して MySQL にログインできるようになりました。

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

以下もご興味があるかもしれません:
  • Linux での MySQL マルチインスタンスの展開とインストール ガイド
  • Linux での MySQL 8.0.25 のインストールと設定のチュートリアル
  • Linux ホスト上で複数の MySQL データベースを起動する方法
  • Linux mysql5.5 を mysql5.7 にアップグレードする手順と落とし穴
  • Linux に mysql をインストールするときに /etc に my.cnf ファイルがない問題を解決する
  • Linux で Docker を使用して MySQL をインストールする手順
  • Linux でリモート MySQL データベースを手動で展開する方法の詳細な説明
  • Linuxでmysqlの定期的なコールドバックアップを実装するためにmysqldump+expect+crontabを使用するアイデアの詳細な説明
  • Aliyun Linux のコンパイルとインストール php7.3 tengine2.3.2 mysql8.0 redis5 プロセスの詳細な説明
  • Linux で MySQL のスケジュールバックアップを実装する方法
  • Linux mysql-5.6 でルート パスワードをリセットする方法
  • MySQL を使用してポート 3306 を開いたり変更したり、Ubuntu/Linux 環境でアクセス許可を開く
  • MySQL スケジュール バックアップ ソリューション (Linux crontab を使用)
  • Linux環境にMySQLデータベースをインストールする詳細なチュートリアル
  • Linux でリモートから MySQL を自動的にバックアップする方法
  • Linux で mysql-8.0.20 をインストールするための詳細なチュートリアル
  • MyCat を使用して Linux で MySQL マスター/スレーブの読み取り/書き込み分離を実装する方法

<<:  Vue3 Reactivityの実装方法を教えます

>>:  MySQL での GROUP_CONCAT の使用例の分析

推薦する

Linux クラウド サーバーに新しいディスクをマウントする方法

背景社内に新しいサーバーが追加され、2Tのハードディスクがマウントされました。sshでログイン後、マ...

MySql ログイン パスワードを忘れた場合とパスワードを忘れた場合の解決策

方法1: MySQL では、次のコマンド ラインで MySQL サーバーを起動することにより、アクセ...

JavaScript 関数呼び出しの典型的なサンプルコード

目次JavaScript 関数呼び出しの典型的な例JS関数の定義と呼び出し方法要約するJavaScr...

大規模な Vue.js プロジェクトの構築と維持のための 10 のベスト プラクティス

目次1. スロットを使用してコンポーネントを理解しやすくし、より強力にする2. Vuexストアを正し...

IE8 と Chrome でテーブルの幅を修正する方法

IE8 や Chrome で上記の設定を使用すると、画面の最大幅に合わせて表示が統一され、各列の幅は...

データ型の判断における js typeof と instanceof の違いと、その開発と使用について

目次1. typeof演算子2. インスタンスオブ演算子3. typeof と instanceof...

MySQLワームレプリケーションの基本知識

ワームは、その名前が示すように、自ら複製し、その数は倍増、つまり指数関数的に増加します。 MySQL...

MySQL トランザクション自動コミット自動コミット操作

MySQL のデフォルトの動作モードは自動コミット モードです。つまり、明示的にトランザクションを開...

Docker で最初のアプリケーションをデプロイする方法

前回の記事では、Docker Desktop をインストールし、Kubernetes を有効にしまし...

HTML コードの書き方に関する提案のまとめ

リソースファイルのプロトコルを省略する画像、メディアファイル、スタイル、スクリプトの URL では、...

SQL 結合クエリの内部結合、外部結合、クロス結合の違いの詳細な説明

データベースを使用するアプリケーションを開発する場合、必然的にユニオンクエリを使用する必要があります...

docker+gitlab+gitlab-runnerの詳細なデプロイメント

環境サーバー: centos7クライアント: ウィンドウCentos7 に docker+gitla...

MySQL ストアド プロシージャで if ステートメントを使用する詳細な例

この記事では、例を使用して、MySQL ストアド プロシージャでの if ステートメントの使用方法を...

ウェブページ読み込み時に左右にジャンプする原因の分析と解決

最近、ウェブサイトを設計するときにこの問題に遭遇しています。メンバーセンターを設計し、コンテンツを ...