Właśnie zainstalowałem serwer społecznościowy MySQL (5.5.8) na Mac OS X 10.6.6.MySQL pojawia się w DROP USER; ale użytkownik nadal istnieje w tabeli mysql.users
Śledzę zasady bezpiecznej instalują (przypisać hasło root, usuń anonimowych kont, itp), jednak jest jedno konto użytkownika, który nie może spaść:
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>
jako widać, że MySQL nie zgłasza żadnych błędów podczas wykonywania polecenia DROP USER, ale tak naprawdę nie usuwa użytkownika!
Próbowałem także usunąć użytkownika z phpMyAdmin (3.3.9) i które dało takie same wyniki (tj. Raportowany sukces, brak komunikatów o błędach, użytkownik nie został usunięty).
mam zbadane to i niektórzy ludzie sugerują, że dotacja może być blokowanie komendy DROP USER, jednak użytkownik nie ma uprawnień 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'
próbowałem upuszczenie użytkownikowi po raz kolejny, że nie zrobił, ale 't upuść/usuń użytkownika albo.
Sprawdziłem logi błędów MySQl i nie ma w tym nic niezwykłego.
Podręcznik MySQL sugeruje, że można usunąć wszystkie anonimowe konta, więc dlaczego nie mogę go usunąć?