事象
Windows上でのMySQLで、rootのパスワードがわからなくなった。
対応
mysqld-nt --skip-grant-tables
で起動して、
update mysql.user set password = password('password') where user='root'; flush privileges;
を実行。
別プロンプトから
mysqladmin.exe shutdown -u root -p
して、パスワードは未入力でenter.
あとは普通にサービスなりで、起動させればOK.
skip-grant-tablesするなら、本当は
--skip-networking
をつけないと危険。
疑問点
mysqld-nt --skip-grant-tables
するときに
--defaults-file
で設定ファイルを指定しようとしたら起動できなかった。謎。
サービス登録
mysqld-nt --remove MySQL