Прежде чем вы думаете, что это дублирующий вопрос, я думаю, что у меня есть уникальный, хотя и несколько глупый, случай.
Несколько дней назад я обновил версию MySQL на своем сервере Ubuntu 10.04 до версии 5.3.3 (она опередила выпуски Ubuntu для 10.04). Сегодня я попытался зайти в phpMyAdmin для чего-то и обнаружил несколько ужасное Connection for controluser as defined in your configuration failed
ошибке Connection for controluser as defined in your configuration failed
ошибки.
После следующих описаний нескольких SO вопросов о том, как это исправить, я застрял.
- Я попытался перенастроить phpMyAdmin, но безуспешно.
- Я попытался удалить phpMyAdmin и переустановить его, но он не смог удалить привилегии из БД и потерпел неудачу.
- Затем я попытался вручную удалить привилегии пользователя - несколько глупо, я мог бы добавить - из БД, затем сбросив БД, затем пользователя (с
flush privileges
сброса). - Я полностью отбросил установку phpMyAdmin (удалив приложение и каталог /etc/phpmyadmin) и переустановил (используя apt-get), но он сказал, что разрешения для пользователя phpmyadmin уже существуют:
granting access to database phpmyadmin for [email protected]: already exists
Итак, вот что у меня осталось. У меня есть грант, который я не могу ни изменить, ни отозвать:
mysql> show grants for 'phpmyadmin'@'localhost';
+-------------------------------------------------------------------------------------------------------------------+
| Grants for [email protected] |
+-------------------------------------------------------------------------------------------------------------------+
| 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).
Как мне полностью удалить эти гранты/привилегии? Я рад начать заново с нуля, если это будет необходимо (phpmyadmin, а не БД).