管理者専用のMySQLアカウントで phpMyAdmin を長らく操作していて、root パスワードが必要になった時、忘れてしまうという事もあるかと思います。本件とは関係ありませんが、先日、root パスワードをリセットする羽目になったので、その時のメモです。
注意!
phpMyAdmin を導入している場合は、一時的に Web サーバを停止して下さい。また、MySQL のポートは Firewall で閉じるなどの対策は先に講じる必要があります。 作業中に外部から不正アクセスされる可能性があります。
ひさしく root権限を使用せず忘れてしまった場合は、権限不要モードで MySQL を起動し、以下の手順で mysql の rootパスワードをリセットする必要があります。
mysql デーモンを停止します。
mysql ユーザーで以下のオプションを付けてパスワード・権限不用モードで起動します。以下のパスは RHEL パッケージのMySQLです。適宜おきかえて下さい。
別のターミナルから mysql に
これで root のパスワードがリセットされた初期状態に戻ります。以下のように mysqladmin コマンドを使用してここで新にパスワードを設定するか、
※パスワードをクォーテーションで囲む必要ありません。
通常モードで新しく root パスワードを登録しなおします。権限なしモードの mysqld を終了します。 起動中のプロセスを調べます。
現在起動しているmysqld プロセス番号を調べて終了するか
あるいは全ての mysqld プロセスを終了します。
mysqld を通常モードで起動します。(RHELの場合)
mysqladmin コマンドでrootパスワードを設定していた場合は、
でログインできます。(-p はパスワードを要求するオプションです)
設定していない場合は、root パスワードは設定されていない状態にあるので以下のコマンドでログインできる筈です。最初に root パスワードを登録した時と同じようにパスワードを指定します。
再度、パスワード無しでログインを試みます。
rootパスワードを設定したため、ログインできません。今度は -p を付けてログインしてみます。
ログインできることを確認して終了です。
以上です。
参考 => A.4.2. 忘れたルートパスワードをリセットする方法