質問: 特権ユーザ情報の復元につきまして mysql4.1+centos4.4+apache2.0にてデータベース(12データベース)運用をしています(root nonpass)。 今回、誤って以下のオペレーションをしてしまいました。 ------------------------------------------------------------- phpmyadminにて、 [特権]--->[ユーザをすべてチェック]--->[グローバル特権をすべて削除]--->実行 ------------------------------------------------------------- すると、phpmyadminiのデータベースが表示されなくなり、赤字で「特権無し」の表示がされました。 コマンドラインにて、ログイン(root)したところ、 show databases; にて、dbが表示されなくなり、grantコマンド、create userコマンドを実施してみたのですが、rootユーザ自体の権限がないもので、すべてのコマンドが弾かれてしまいます。 /var/lib/mysqlディレクトリにdbファイル(.myd形式等)を保存しているのですが、こちらのdbファイルは、存在しています。 この状態からrootユーザ情報を復元するにはどうすればよいでしょうか。
回答: my.cnfの[mysqld]の所に"skip-grant-tables"を追記してmysqlを再起動すれば権限を無視してログインできるようになりますよ。 あとは、rootユーザーに権限を作成するだけなので、下記のクエリを実行してください。 grant all privileges on *.* to 'root'@'localhost' with grant option; 誰でもログインできる状態にするオプションなので、設定が終わればすぐに設定を削除してmysqlを再起動してくださいね。