相关疑难解决方法(0)

MySQL:为什么 mysql.db 中有“测试”条目?

最近,我发布了一个关于 mysql.db 的问题的答案

然后,我开始想我应该问每个人这个问题:

多年来,我一直注意到在安装 MySQL 5.0+ 时,mysql.db填充了两个条目,允许匿名用户访问测试数据库。

您可以通过运行此查询来查看它:

mysql> select * from mysql.db where SUBSTR(db,1,4) = 'test'\G
*************************** 1. row ***************************
                 Host: %
                   Db: test
                 User:
          Select_priv: Y
          Insert_priv: Y
          Update_priv: Y
          Delete_priv: Y
          Create_priv: Y
            Drop_priv: Y
           Grant_priv: N
      References_priv: Y
           Index_priv: Y
           Alter_priv: Y
Create_tmp_table_priv: Y
     Lock_tables_priv: Y
     Create_view_priv: Y
       Show_view_priv: Y
  Create_routine_priv: Y
   Alter_routine_priv: N
         Execute_priv: N
*************************** 2. row ***************************
                 Host: %
                   Db: test\_%
                 User:
          Select_priv: Y
          Insert_priv: Y
          Update_priv: Y …
Run Code Online (Sandbox Code Playgroud)

mysql security

37
推荐指数
1
解决办法
8597
查看次数

无法从 mysql.user 中删除匿名用户

我试图从我的 mysql.users 数据库中删除匿名用户。但是,我一直有奇怪的行为。当我输入命令时:

DROP User ''@'WOPR';
Run Code Online (Sandbox Code Playgroud)

我收到一条通用错误消息。所以,我重新启动了我的机器,并再次尝试。这次我得到了回应

Query OK, 0 rows affected.
Run Code Online (Sandbox Code Playgroud)

但是当我投入

SELECT User, Host, Password FROM mysql.user WHERE User='';

回报是:

+------+------+----------+
| User | Host | Password |
+------+------+----------+
|      | WOPR |          |
+------+------+----------+
Run Code Online (Sandbox Code Playgroud)

(WOPR 是我的主机名)

我运行命令

DROP User ''@'WOPR';

并得到相同的结果。

我正在 Arch Linux 内核版本 2.6.33 上运行全新安装的 MySQL 5.5。

有谁知道什么会导致这种行为?

mysql

17
推荐指数
1
解决办法
2万
查看次数

标签 统计

mysql ×2

security ×1