• ベストアンサー

[MySQL] rootの権限を消してしまった

何を血迷ったか、 REVOKE ALL PRIVILEGES ON * . * FROM "root"; とやってしまい、 create database test; ERROR 1044 (42000): Access denied for user 'root'@'localhost' to database 'test' といっか感じでエラーを吐いてしまいます。 GRANTで権限を与えようにも、同様にエラーを吐いてしまいどうにもなりません... 助けてください。よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • nora1962
  • ベストアンサー率60% (431/717)
回答No.1

環境はwindowsですか?それともLinux? 渡しの場合はWindows7ですが http://d.hatena.ne.jp/hayori/20080407/1207553413 を参考に実験してみました。 「--skip-grant-tables」を「my.ini」の「mysqld」セクションに追加しMYSQLサービスを再起動。 自分の環境ではINSERTはユーザーの重複エラーになりましたが。 UPDATEコマンド update user set Select_priv='Y', Insert_priv='Y', Update_priv='Y', Delete_priv='Y', Create_priv='Y', Drop_priv='Y', Reload_priv='Y', Shutdown_priv='Y', Process_priv='Y', File_priv='Y', Grant_priv='Y', References_priv='Y', Index_priv='Y', Alter_priv='Y', Show_db_priv='Y', Super_priv='Y', Create_tmp_table_priv='Y', Lock_tables_priv='Y', Execute_priv='Y', Repl_slave_priv='Y', Repl_client_priv='Y', Create_view_priv='Y', Show_view_priv='Y', Create_routine_priv='Y', Alter_routine_priv='Y', Create_user_priv='Y' where User='root'; は成功しました。 更新したら、「my.ini」を元に戻して「MYSQL」サービスを再起動してください。 Linuxの場合は、参照リンクのようにmysqldを直接起動して編集してください。

PlantEarth
質問者

お礼

検証までしてくださりほんとうにありがとうございます! 無事にrootの権限を取り戻すことができました。

関連するQ&A