MySQL, похоже, ОТКАЗЫВАЕТСЯ ПОЛЬЗОВАТЕЛЯ; но пользователь все еще существует в таблице mysql.users

Я только что установил сервер MySQL Community (5.5.8) на Mac OS X 10.6.6.

Я следую правилам безопасной установки (назначьте пароль root, удалите анонимные учетные записи и т. Д.), Однако есть одна учетная запись пользователя, которую я не могу УДАЛИТЬ:

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> 

Как вы можете видеть, что 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'

После этого я снова попытался удалить пользователя, но он также не удалял / удалял.

Я проверил свои журналы ошибок MySQl, и в них нет ничего необычного.

В руководстве по MySQL предлагается удалить все анонимные учетные записи, так почему я не могу удалить этот?

7
задан ProcessEight 27 January 2011 в 13:59
поделиться