MySQLのrootのパスワードを忘れた場合に変更する方法メモ
前任の人がrootのパスワード残さないまま居なくなって、
とっても困ったので(grantできない)、
初期化する方法見てたんだけど、日本語マニュアルのじゃ治らなくて、
本家の方みたら治った
> UPDATE mysql.user SET Password=PASSWORD('MyNewPass') WHERE User='root'; > FLUSH PRIVILEGES;
これでMyNewPassに新しいパスワード入れればokみたい。
・MySQL :: MySQL 5.1 Reference Manual :: B.1.4.1 How to Reset the Root Password
http://dev.mysql.com/doc/refman/5.1/en/resetting-permissions.html
・5/31追記
なぜかホッテントリに上がってしまっていたので、ちょっと補足。
rootのパスワード変更するには、一度mysqldをkillして、--skip-grant-tablesオプションつけて起動した状態じゃないと変更できません。
普通にgrant-tablesをskipしない状態でやったら多分出来ないんじゃないかなぁ。
・更に追記
なんか--skip-grant-tablesしなくても任意のユーザーでログインしたらrootのパスワード変えれた。
こわー。
>id:tenkomaさん
*任意のユーザーはこんな権限で作ってました
CREATE USER 'sample'@'%' IDENTIFIED BY '******'; GRANT SELECT , INSERT , UPDATE , DELETE , FILE ON * . * TO 'sample'@'%' IDENTIFIED BY '******' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;
この場合はFLUSH PRIVILEGES;が実行できなかったですが。
任意のユーザーの条件によって出来てただけなので、誤表記にあたるので削除。