Prima di pensare che si tratti di una domanda doppia, credo di avere un caso unico, anche se un po 'debole.Rimuovere i privilegi dal database MySQL
Pochi giorni fa, ho aggiornato la versione di MySQL sul mio server Ubuntu 10.04 a 5.3.3 (è in anticipo rispetto alle versioni di Ubuntu per 10.04). Oggi ho tentato di accedere a phpMyAdmin per qualcosa e ho scoperto l'errore un po 'temuto di Connection for controluser as defined in your configuration failed
.
Dopo aver seguito le descrizioni di alcune domande SO su come risolvere il problema, sono rimasto bloccato.
- Ho tentato di reconfigure phpMyAdmin, senza successo.
- Ho tentato di effettuare il uninstall phpMyadmin and reinstall, ma non è stato possibile rimuovere i privilegi dal db e non è riuscito.
- Ho quindi provato a manually remove the privileges dell'utente - un po 'scioccamente, potrei aggiungere - dal db, quindi rilasciare il db, quindi l'utente (con
flush privileges
). - ho lasciato cadere l'intera installazione di phpMyAdmin completamente (eliminando l'applicazione e la directory/etc/phpMyAdmin) e reinstallato (usando apt-get), ma ha detto che le autorizzazioni per l'utente phpMyAdmin esistevano già:
granting access to database phpmyadmin for [email protected]: already exists
Quindi, ecco quello che mi rimane. Ho una borsa di studio che non posso modificare, né revocare:
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'
(Non ti preoccupare, io non uso più la password, ma era la password utilizzata in precedenza e non è la password che ho scelto per la nuova installazione di phpmyadmin).
Come rimuovere completamente tali concessioni/privilegi? Sono felice di ricominciare da capo se necessario (phpmyadmin che è, non il db).
Hai bisogno di "FLUSH PRIVILEGES" dopo questo? –
Non ho potuto guardarlo fino ad oggi, e la tua risposta ha risolto il problema dei privilegi, grazie. Tuttavia, rimane il mio errore 'Connection for controluser as defined in configuration configuration' ma rimane un problema diverso. – Cyntech
'DROP USER' è tutto ciò che serve per rimuovere completamente l'accesso degli utenti dalle tabelle mysql.user e mysql.db. 'REVOKE' semplicemente commuta i flag di autorizzazione su" N "in una o entrambe le tabelle per le autorizzazioni specificate, ma lascia intatto l'utente. E sì, è necessario 'FLUSH PRIVILEGES' dopo l'istruzione' REVOKE', ma non dopo un'operazione 'DROP'. –