mysql数据库db表中的一些奇怪的东西

在Mysql服务无端停止之后,我在客户端服务器的mysql数据库db表中发现了一些奇怪的东西 截图

  1. 什么是testing和test_%条目?
  2. 为什么数据库AQUA有两个条目?
  3. 为什么有一个空白名称的条目?

我应该担心这些吗? 我应该为每个具体情况做些什么? 备份后删除那些不应该在那里的安全吗?

问题1.请立即删除两个条目test和test_%。 本书“ MySQL 5.0authentication学习指南”(ISBN 0-672-32812-7)第35章是关于保护MySQL安装。 它build议删除这些。 请注意,除Grants_priv之外,所有权限的Y均为test和test_%。 有了这个,我可以对testing数据库或任何以“test_”开头的数据库做恶意的事情。 以下是可以对testing数据库进行恶意操作的示例:

USE test<BR> CREATE TABLE tb (a INT);<BR> INSERT INTO tb VALUES (1);<BR> INSERT INTO tb SELECT * FROM tb; <<-- Do This 30 times<BR> 

你有一个4GB的文件。

一个恶意的人可以在testing数据库中做出许多这样的事情。

更糟糕的是,在某些情况下,具有这些凭证的人可以在默认安装的MySQL中没有密码的情况下login到testing数据库。

结论:立即删除testing用户!

问题2这个是好的

有两个不同的用户可以访问AQUA数据库

根@本地

dbcon @本地

他们有不同的访问权限。

只要运行这些命令,看看访问权限的差异

 SHOW GRANTS FOR root@localhost; SHOW GRANTS FOR dbcon@localhost; 

问题3也删除这个。 我在问题1中提出的同一本书也强烈build议删除这个。 该条目将允许匿名用户login任何数据库。 换句话说,不允许用户和密码。 删除这一个!