これが重複した質問であると考える前に、たとえそれが多少ぼんやりしていたとしても、私はユニークなケースを持っていると信じています.
数日前、Ubuntu 10.04 サーバーの MySQL のバージョンを 5.3.3 にアップグレードしました (これは 10.04 の Ubuntu リリースよりも進んでいます)。今日、何かのために phpMyAdmin にログインしようとしたところ、やや恐ろしいConnection for controluser as defined in your configuration failed
エラーが発生しました。
これを修正する方法に関するいくつかの SO の質問からの説明に従った後、私は動けなくなりました。
- phpMyAdmin を再構成しようとしましたが、成功しませんでした。
- phpMyAdmin をアンインストールして再インストールしようとしましたが、DB から権限を削除できず、失敗しました。
- 次に、DBからユーザーの権限を手動で削除しようとしました-ややばかげているかもしれませんが、追加するかもしれません-、次にdbを削除し、次にユーザーを削除しました( with
flush privileges
)。 - phpMyAdmin のインストール全体を完全に削除し (アプリケーションと /etc/phpmyadmin ディレクトリを削除)、再インストールしました (apt-get を使用) が、phpmyadmin ユーザーのアクセス許可が既に存在すると言われました。
granting access to database phpmyadmin for phpmyadmin@localhost: already exists
だから、ここに私が残っているものがあります。変更も取り消しもできない助成金を持っています:
mysql> show grants for 'phpmyadmin'@'localhost';
+-------------------------------------------------------------------------------------------------------------------+
| Grants for phpmyadmin@localhost |
+-------------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'phpmyadmin'@'localhost' IDENTIFIED BY PASSWORD '*46CFC7938B60837F46B610A2D10C248874555C14' |
| GRANT ALL PRIVILEGES ON `phpmyadmin`.* TO 'phpmyadmin'@'localhost' |
+-------------------------------------------------------------------------------------------------------------------+
2 rows in set (0.26 sec)
mysql> revoke usage on *.* from 'phpmyadmin'@'localhost';
ERROR 1141 (42000): There is no such grant defined for user 'phpmyadmin' on host 'localhost'
mysql> revoke usage on *.* from 'phpmyadmin'@'localhost' identified by 'trustno1';
ERROR 1141 (42000): There is no such grant defined for user 'phpmyadmin' on host 'localhost'
(心配しないでください。このパスワードはもう使用しませんが、以前に使用したパスワードであり、新しい phpmyadmin インストール用に選択したパスワードではありません)。
これらの許可/特権を完全に削除するにはどうすればよいですか? 必要に応じて、ゼロからやり直します (DB ではなく phpmyadmin)。