勇者コレクター攻略日記

元々はプロのプログラマがレビューする転職情報。今は勇者コレクターの攻略がメイン

mysqlのパスワードを忘れた場合は初期化しかないのか?

   

XAMPPでMySQLを入れたつもりになっていたが
実はその前に別途MySQLをインストールしてしまっていて
そちらのパスワードを忘れていた

というのが前回までの話

とりあえず以前のデータベースは要らないので
全削除してもいいのだけど
復旧が必要になった時の予行演習として
Rootのパスワード消失時の
データベースの復旧方法を調べる。

参考ページ

rootのパスワードを忘れてしまった場合の対処方法
http://sasuke.main.jp/mysqlrootpass.html

まずMySQLのサービスを停止させて
mysqld-nt –skip-grant-tables

結果:

‘mysqld-nt’ は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

あれ、なんでmysqlにパスが通ってて
これにとおってないんだ。

ということでインストール先のファイルチェック

そしたら正式なコマンドは

mysqld -nt –skip-grant-tables

だった・・・
でも警告発生してすぐリターン

120914 11:28:51 [Warning] ‘–default-character-set’ is deprecated and will be removed in a future release. Please use ‘–character-set-server’ instead.

やっぱりちゃんと使い方を自分で調べないとダメだな

4.2.2. コマンド オプション
http://dev.mysql.com/doc/refman/5.1/ja/server-options.html

–skip-grant-tables

サーバが一切の権限システムを使用しないようにする。つまり、誰でもすべてのデータベースにフルアクセスできるようになる。

で、気づいたんだけど
-ntなんてオプションは無いし
もともとmysqld-ntが環境によっては存在する、
ということだと理解。

で、
mysqld –skip-grant-tables
したら警告は相変わらずだけど、リターンはしなくなったので

rootで入ってパスワード変更
以前のデータベースが
使用可能になりました。

なんかrubyからのデータベース操作に
使ってたみたい。

 - 未分類 , ,