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 実装

推薦する

Vue の新しい組み込みコンポーネントの使用方法の詳細な説明

目次1. テレポート1.1 テレポートの紹介1.2 テレポートの使用1.3 プレビュー効果2. サス...

画像をMySQLデータベースに保存し、フロントエンドページに表示するための実装コード

目次1. まず、pycharmを使用してDjangoプロジェクトを作成し、関連する環境を設定します。...

DockerにJava環境をインストールするための実装手順

この記事は Linux centos8 をベースにして、docker をインストールし、イメージをプ...

Navicat for Mysql 接続エラー 1251 (接続失敗) の問題を解決する

以前書いた内容が詳細さに欠けていたため、今回は修正・補足しました。ただし、以前の MySQL バージ...

vue3.0 で要素を使用するための完全な手順

序文: vue3.0の要素フレームワークを使用します。要素はvue2.0をサポートしており、vue3...

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

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

Windows 7 で MySQL 8.0.16 をインストールして使用する場合、パスワードの変更と Navicat への接続に関する問題が発生する

MySQL のインストール時にいくつかの問題が発生しました。オンラインで見つけた回答は似たようなもの...

円形/扇形メニューを2分で実装する方法を教えます(基本バージョン)

序文このプロジェクトでは円形のメニューが必要です。オンラインで検索しましたが、適切なものが見つからな...

Tomcat8はcronologを使用してCatalina.Outログを分割します

背景tomcat によって生成された catalina.out ログ ファイルが分割されていない場合...

CSS でフッターの「下部吸収」効果を実現

よく遭遇する問題: 下部の要素を「下部に貼り付ける」効果を CSS でどのように実現するか。この記事...

HTML4とHTML5の違い: 入力にフォーカス実装コードを追加する方法

html4:コードをコピーコードは次のとおりです。 <フォーム> <p>&l...

背景画像にテキストを表示するためのCSS

効果: <div class="imgs"> <!-- 背景画...

CSSアニメーションを使用して背景のシームレスな無限ループを実装する例

1. 需要絵が左から右へ無限ループで動く2. コードモバイルデバイスに適用されているため、rem 単...

角丸四角形の HTML+CSS 実装コード

退屈していたので、突然角丸四角形の実装を思いつきました。しかし、私たちはこの話題についてあまりにも長...

Dockerfile に基づいて Tomcat イメージを構築する方法

Dockerfile は Docker イメージを構築するために使用されるファイルです。コマンドパラ...