Studio ilia

Wordpress、ゲームコンテンツ開発ブログ

MySQLのrootのパスワードをリセット

概要

MySQLの最高権限のログインアカウント root のパスワードを忘れてしまった場合は、一度MySQLサービスを停止後、セーフモードでログインしてから現在設定されている root のパスワードを再設定することで復旧させます。
尚、セーフモードのログイン方法はMySQLのバージョンにより異なりますが、本手順では MySQL 8 で行った際の手順を解説します。

 

これはボックスのタイトルです。
  • CentOS Linux release 8.2.2004 (Core)
  • mysql Ver 8.0.21

 

MySQLをセーフモードでログイン

▼MySQLのサービスを停止

 

▼セーフモードでログインできるようにする
下記のコマンドで環境変数を変更することで、ユーザーデータの格納されたテーブルを参照して行われるユーザー認証の際にテーブルが見られなくなり、パスワード無しで root ログインが可能になります。

 

▼MySQLの起動

 

root のパスワードを削除

▼MySQLに root でログイン

L Community Server – GPL

▼MySQLのユーザー管理テーブルに移動

 

▼ユーザー管理テーブルの確認

 

▼root のパスワードを削除
暗号化されたパスワードの文字列を格納している「authentication_string」カラムを「空(null)」の値で置き換えることで削除となります。

 

▼変更内容をデータベースに反映

 

▼MySQLからログアウト

 

 

セーフモードでのログインを戻す

現在は「–skip-grant-tables」が設定されたままなので、再びテーブルをみてログイン情報の照合がされるように先ほど設定した環境変数を削除して、元に戻します。

▼環境変数の設定状況確認

 

▼「MYSQLD_OPTS」の設定を削除

 

▼「MYSQLD_OPTS」の削除確認

 

▼MySQLを再起動で環境変数の設定を反映

 

 

MySQLのrootパスワードを再設定

パスワードの設定は mysql にログイン後にSQL文を実行して設定を行います。

▼SQL分
 ALTER USER ‘root’@’localhost’ identified BY ‘新しいパスワード’;

 

▼パスワード変更

 

▼変更後の確認
一度MySQLからログアウト後に、先ほど設定したパスワードでログインができることを確認してみてください。

 

Home
Profile
Menu
Search