在您认为这是一个重复问题之前,我认为我有一个独特的,即使它有点暗淡的情况。从MySQL数据库中删除权限
几天前,我将Ubuntu 10.04服务器上的MySQL版本升级到了5.3.3(它比10.04版本的Ubuntu版本高出一些)。今天,我试图登录到phpMyAdmin的东西,发现有些可怕的Connection for controluser as defined in your configuration failed
错误。
经过几个关于如何解决这个问题的SO问题的描述之后,我陷入了困境。
- 我试图reconfigure phpMyAdmin,没有成功。
- 我试图uninstall phpMyadmin and reinstall它,但它不能删除数据库的权限和失败。
- 然后我试图从用户的manually remove the privileges - 有点愚蠢,我可能会添加 - 从数据库,然后删除数据库,然后用户(与
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,而不是数据库)。
在这之后你有'FLUSH PRIVILEGES'吗? –
直到今天我都看不到这个问题,并且您的答案解决了特权问题,谢谢。但是,我的'Connection for controluser在配置中定义失败'错误仍然存在,但这是一个不同的问题。 – Cyntech
'DROP USER'是您需要从mysql.user和mysql.db表中完全删除用户访问权限所需的全部内容。 'REVOKE'只是将权限标志切换为'N',在其中的一个或两个表中为指定的权限,但保持用户不变。是的,你需要在'REVOKE'语句后'FLUSH PRIVILEGES',而不是在'DROP'操作之后。 –