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 の使用例の分析

推薦する

Vue3 の動的コンポーネントはどのように機能しますか?

目次1. コンポーネントの登録1.1 グローバル登録1.2 グローバルコンポーネントの登録プロセス1...

フロントエンドJSサンドボックスを実装するいくつかの方法についての簡単な説明

目次序文iframeはサンドボックスを実装しますdiffメソッドを使用したサンドボックスの実装プロキ...

MySQL 外部キー制約の例の説明

MySQL の外部キー制約は、2 つのテーブル間のリンクを確立するために使用されます。 1 つのテー...

MySQLフィールドのデフォルト値を設定する方法

目次序文: 1. デフォルト値に関する操作2. 使用上の提案要約:序文: MySQL では、テーブル...

JavaScript クリップボードの使用法の詳細な説明

(1)はじめに: clipboard.js は、テキストをクリップボードにコピーする機能を実装する軽...

React Native の基本原則の深い理解 (Bridge of React Native)

この記事では、React Native の基本をすでに理解していることを前提とし、ネイティブと Ja...

均一なアニメーション効果を実現するJavaScript

この記事の例では、JavaScriptで等速アニメーションを実装するための具体的なコードを参考までに...

HTML の表の行と列を結合する問題の解決策の詳細な説明

私たちが構築しようとしていたウェブサイトには、長い文章だけでなく、多数の表も含まれており、表のレイア...

nginxアクセス制御の実装例

高性能で軽量なウェブサービスソフトウェアであるNginxについて高い安定性 システムリソースの消費量...

Mysql 5.7.18 MySQL proxies_priv を使用して同様のユーザーグループ管理を実装する

MySQL proxies_priv(シミュレートされたロール)を使用して同様のユーザーグループ管理...

Dockerイメージをプルしてバージョンを確認する方法

イメージのバージョンとタグを確認するには、docker hubで確認する必要があります。アドレスは次...

CSS でフローティングにより親要素の高さが崩れる問題を解決するいくつかの方法

1. ドキュメントフローとフローティング1. ドキュメントフローとは何ですか? HTML では、ドキ...

Web 開発 js 文字列連結プレースホルダーと conlose オブジェクト API の詳細な説明

目次プレースホルダーの置き換えコンソール印刷テーブル()ログ、情報、警告、エラーグループ()、グルー...

HTMLフォーム要素の包括的な理解

以下のように表示されます。 XML/HTML コードコンテンツをクリップボードにコピー<!DO...