Ho appena installato il server MySQL Community (5.5.8) su Mac OS X 10.6.6.MySQL appare a DROP USER; ma l'utente esiste ancora nella tabella mysql.users
ho seguito le regole per un Installare sicuro (assegnare una password per sradicare, eliminare gli account anonimi, ecc), tuttavia, v'è un account utente che non può scendere:
mysql> select host, user from mysql.user;
+--------------------------------+------+
| host | user |
+--------------------------------+------+
| 127.0.0.1 | root |
| ::1 | root |
| My-Computer-Hostname.local | |
| My-Computer-Hostname.local | root |
| localhost | root |
| localhost | web |
+--------------------------------+------+
6 rows in set (0.00 sec)
mysql> drop user ''@'My-Computer-Hostname.local';
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> select host, user from mysql.user;
+--------------------------------+------+
| host | user |
+--------------------------------+------+
| 127.0.0.1 | root |
| ::1 | root |
| My-Computer-Hostname.local | |
| My-Computer-Hostname.local | root |
| localhost | root |
| localhost | web |
+--------------------------------+------+
6 rows in set (0.00 sec)
mysql>
Come puoi vedere che MySQL non segnala errori durante l'esecuzione del comando DROP USER, ma in realtà non elimina l'utente!
Ho provato anche a eliminare l'utente da phpMyAdmin (3.3.9) e quello ha prodotto gli stessi risultati (cioè successo segnalato, nessun messaggio di errore, utente non cancellato).
ho studiato questo e alcune persone suggeriscono che GRANT potrebbe bloccare il comando DROP USER, tuttavia, l'utente non ha privilegi GRANT:
mysql> SHOW GRANTS FOR ''@'My-Computer-Hostname.local';
+-----------------------------------------------------------+
| Grants for @my-computer-hostname.local |
+-----------------------------------------------------------+
| GRANT USAGE ON *.* TO ''@'my-computer-hostname.local' |
+-----------------------------------------------------------+
1 row in set (0.00 sec)
mysql> REVOKE GRANT OPTION ON *.* FROM ''@'My-Computer-Hostname.local';
ERROR 1141 (42000): There is no such grant defined for user '' on host 'my-computer-hostname.local'
ho provato cadere di nuovo l'utente dopo che ma didn 't drop/cancella anche l'utente.
Ho controllato i miei registri degli errori MySQl e non c'è niente di strano lì dentro.
Il manuale MySQL suggerisce che è possibile eliminare tutti gli account anonimi, quindi perché non posso eliminare questo?