Mac OS X 10.6.6にMySQL Community Server(5.5.8)をインストールしました。MySQLはDROP USERに見えます。ユーザーはまだmysql.usersテーブルに存在しています
私はインストールのセキュアためのルールを、次の(など、匿名のアカウントを削除し、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>
として、 DROP USERコマンドを実行するとMySQLはエラーを報告しませんが、実際にはユーザを削除しません!
私は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'
私はその後、再びユーザーを削除しようとしたが、それはdidnのユーザーを削除/削除することもできません。
MySQlエラーログを確認しましたが、そこには何も異常はありません。
すべての匿名アカウントを削除することは可能ですが、なぜこのアカウントを削除できないのでしょうか?ただ、匿名の1を削除するには、...
mysql> DELETE FROM user WHERE host='my-computer-hostname.local';
Query OK, 2 rows affected (0.00 sec)
この方法は、MySQL 4.1より前に使用した