Я только что установил сервер сообщества MySQL (5.5.8) в Mac OS X 10.6.6.MySQL появляется DROP USER; но пользователь все еще существует в таблице mysql.users
Я следовал правилам для безопасной установке (назначить пароль поболеть, удалить анонимные счета и т.д.), тем не менее, есть одна учетная запись пользователя, которую я не могу DROP:
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>
As вы можете видеть, что MySQL не сообщает об ошибках при выполнении команды DROP USER, но фактически не удаляет пользователя!
Я также попытался удалить пользователя из phpMyAdmin (3.3.9) и получил те же результаты (то есть сообщил об успехе, никаких сообщений об ошибках, пользователь не удалил).
Я исследовал это и некоторые люди полагают, что GRANT может блокировать команду DROP USER, однако, пользователь не имеет 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'
Я пытался уронить пользователь снова после этого, но это Бесполезный 't удалить/удалить пользователя.
Я проверил свои журналы ошибок MySQl, и там нет ничего необычного.
В руководстве по MySQL предлагается удалить все анонимные учетные записи, поэтому почему я не могу удалить это?