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

推薦する

Docker インストール rocketMQ チュートリアル (最も詳細)

RocketMQ は、Alibaba が設計した分散型のキューベースのメッセージング ミドルウェア...

HTML テーブル_Powernode Java アカデミー

HTMLで表を描くには、表タグを使用します。 trは行を意味しますtdは列を示すth はテーブ...

Linux ディレクトリ切り替え実装コード例

ファイルの切り替えは Linux でよく行われる操作です。Linux を初めて学ぶときに最初に触れる...

Javascript イベントキャプチャとバブリングメソッドの詳細な説明

目次1. イベント処理モデル1. イベントバブリング(1)3つのdiv要素にイベントをバインドする(...

Vue で SuperMap を使用する練習

目次序文関連資料Vue プロジェクトが 2 次元ハイパーグラフを導入ハイパーグラフ 2D ケース引用...

iframe を使用して Web ページに天気の影響を表示します

CS: ...コードをコピーコードは次のとおりです。 *{マージン:0;パディング:0;リストスタイ...

MySQL 8.0 でリモートアクセス権限を設定する方法

前回の記事では、MySQL パスワードをリセットする方法を説明しました。一部の学生から、データベース...

HTML内の画像はbase64でエンコードされた文字列に直接置き換えられます

最近、画像はあるのに外部画像リソースが参照されていないウェブページを見つけました。気になりました。コ...

Docker swarm の簡単なチュートリアル

3つの仮想マシン132、133、134を群がらせる1. クラスターを初期化し、自分自身をクラスターに...

JavaScript のカンマ式が含まれている場合について

JavaScript の if ステートメントで英語のカンマ「,」が表示されることがあります。これは...

Redo ログと Undo ログに基づく MySQL クラッシュ回復の分析

目次MySQLクラッシュ回復プロセス1. ブラックボックス下のデータフローを更新する2. やり直しロ...

Dockerコンテナの自動終了を停止する方法の詳細な説明

この記事では、Docker コンテナとフロントエンド プロセスの関係と、コンテナを永続的に実行できる...

dockerコンテナは直接実行され、pingを介してパブリックIP操作を取得します。

コンテナを通じてローカル パブリック IP アドレスを取得します。ローカル IP アドレスを使用して...

略語マークと頭字語マーク

<abbr>タグと<acronym>タグは、Web ページに表示される略語と...

ネイティブjsはショッピングカートのロジックと機能を実装します

この記事の例では、ショッピングカートのロジックと機能を実装するためのjsの具体的なコードを共有してい...