MySQL ルートパスワードをリセットする方法

MySQL ルートパスワードをリセットする方法

DBA にとって、スーパーユーザー root のパスワードを失うことは致命的です。

--ship-grant-tables パラメータを追加することで、許可テーブルをスキップできます。

1. ルートパスワードを忘れてしまい、データベースにアクセスできない:

この時点でデータベースを強制的に停止する必要があります。まずMySQLプロセス番号を確認します

次のコマンドで MySQL プロセスを終了します。

強制終了した後、まだプロセスが残っているかどうかを確認できます

[root@tse2 tmp]# キル -9 9840 1
[root@tse2 tmp]# ps -ef |grep mysql 

業務に影響がない場合はサービスを停止することをお勧めします。パスワードをしっかり記録しておくことをお勧めします。パスワード保存ソフトウェアkeepassを使用できます。

次に、スキップ権限テーブル パラメータを追加し、データベースを再起動します。この方法では、パスワードを入力しなくてもデータベースに入ることができます。

[root@tse2 bin]# mysqld_safe --defaults-file=/etc/my.cnf --skip-grant-tables &
[1] 4854 

パスワードなしで直接mysqlを入力する

ルート ユーザーに新しいパスワードを設定し、権限を更新します。MySQL 5.7 以降では、ライブラリの下のパスワード フィールドは authentication_string フィールドに置き換えられます。

(product)root@localhost:mysql.sock [(なし)]> use mysql;
データベースが変更されました
(product)root@localhost:mysql.sock [mysql]> ユーザーを更新します。authentication_string=password('123456') を設定します。user='root';
クエリは正常、影響を受けた行は 0 行、警告は 1 件 (0.00 秒)
一致した行: 1 変更: 0 警告: 1

(product)root@localhost:mysql.sock [mysql]> 権限をフラッシュします。
クエリは正常、影響を受けた行は 0 行 (0.00 秒)

設定が完了したら、データベースを再起動します。再起動時に --skip-grant-tables パラメータを追加する必要がないことに注意してください。通常どおりサービスを開始し、新しいパスワードを入力してデータベースに通常どおりアクセスします。ここで再起動後、パスワードなしでmysqlに入れないことをテストしました。

[root@tse2 bin]# mysqld_safe --deaults-file=/etc/my.cnf &
[2] 6720
[root@tse2 bin]# 2020-01-16T02:55:45.223195Z mysqld_safe '/mysql/mysql3306/logs/error.log' にログを記録しています。
2020-01-16T02:55:45.262302Z mysqld_safe mysqldプロセスがすでに存在します

[2]+ 終了 1 mysqld_safe --deaults-file=/etc/my.cnf
[root@tse2 bin]#mysql
エラー 1045 (28000): ユーザー 'root'@'localhost' のアクセスが拒否されました (パスワード使用: NO)

ここでパスワードを入力して接続すると、通常通り入力できます。変更されたパスワードは123456です。

[root@tse2 bin]# mysql -uroot -p
パスワードを入力してください: 
MySQL モニターへようこそ。コマンドは ; または \g で終わります。
MySQL接続IDは4です
サーバーバージョン: 5.7.23-log MySQL コミュニティサーバー (GPL)

Copyright (c) 2000, 2018, Oracle およびその関連会社。無断複写・転載を禁じます。

OracleはOracle Corporationおよびその関連会社の登録商標です。
その他の名称は各社の商標である場合があります。
所有者。

ヘルプを表示するには、「help;」または「\h」と入力します。現在の入力ステートメントをクリアするには、「\c」と入力します。

(product)root@localhost:mysql.sock [(なし)]> mysqlを使用する
データベースが変更されました
(product)root@localhost:mysql.sock [mysql]> データベースを表示します。
+--------------------+
| データベース |
+--------------------+
| 情報スキーマ |
|mysql |
| パフォーマンススキーマ |
|システム|
+--------------------+
セット内の 4 行 (0.01 秒)

上記は、MySQL ルート パスワードをリセットする方法の詳細な内容です。MySQL ルート パスワードのリセットの詳細については、123WORDPRESS.COM の他の関連記事に注目してください。

以下もご興味があるかもしれません:
  • Linux 上の MYSQL 5.7 でルート パスワードを取得する際の問題 (テスト済み、利用可能)
  • MySQL8のパスワードを忘れた場合の簡単な解決策
  • MySQLデータベースのパスワードを忘れた場合の解決策

<<:  HTML H タイトルタグの使用

>>:  トップに戻るボタンの例の JavaScript 実装

推薦する

jsはaudioContextを通じて3Dサウンド効果を実現します

この記事では、audioContextを介して3Dサウンド効果を実現するためのjsの具体的なコードを...

1つの記事でJSONPの原理と応用を理解する

目次JSONPとはJSONP 原則JSONP実装1. Ajaxでクロスドメインリクエストが行われると...

Windows で Graphviz をインストールして開始する方法のチュートリアル

ダウンロードとインストール環境変数の設定インストール環境変数の設定確認基本的な描画の紹介グラフディグ...

QQtabBar による CSS 命名仕様 BEM の詳細な紹介

QQtabBar の BEMまず、BEMとはどういう意味でしょうか? BEM は、ブロック、要素、修...

VMwareでCentOSがインターネットにアクセスできない問題を素早く解決

昨日、VMware に CentOS7 をインストールしました。Tomcat パッケージを転送するた...

HTMLテーブルではテーブルの外側の境界線のみが表示されます

質問があります。Dreamweaver で、3 行 1 列のログイン フォーム (ログイン、登録、パ...

CentOS7 ファイアウォールとポート関連コマンドの紹介

目次1. ファイアウォールの現在の状態を確認する2. ファイアウォールサービスを開始する3. ファイ...

Django2.* + Mysql5.7 開発環境統合チュートリアル図

環境: 10.12 の新機能Python 3.6 MySQL 5.7.25 の場合ジャンゴ 2.2....

JavaScript のよりエレガントなエラー処理方法 async await

目次背景なぜエラー処理が必要なのでしょうか? async await より適切なエラー処理まとめ要約...

vsCodeはワンクリックでvueテンプレートを生成します

1. ショートカットCtrl + Shift + Pを使用してコンソールを呼び出します 2、「スニペ...

Linux bzip2 コマンドの使用

1. コマンドの紹介bzip2 は、ファイルの圧縮と解凍に使用されます。これは、Linux システム...

Node.js のフロントエンドとバックエンドのインタラクションによるユーザーログインの実装の実践

目次1. プロジェクト要件次にコーディングを始める1. フロントエンドページを作成する(CSSスタイ...

Dockerコンテナの紹介

Dockerの概要Docker はオープンソースのソフトウェア展開ソリューションです。 Docker...

Linux コマンドラインのワイルドカードとエスケープ文字の実装

ハードディスクのファイル属性のバッチ表示など、特定の種類のファイルに対してバッチ操作を実行する場合、...