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

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

在 Mysql 服务无缘无故停止后,我注意到客户端服务器中 mysql 数据库的 db 表中出现了一些奇怪的事情 截屏

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

我应该担心其中任何一个吗?针对每个具体情况我应该怎么做?备份后删除那些不应该存在的内容是否安全?

答案1

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

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的文件。

恶意的人可以在测试数据库中犯许多这样的错误。

更糟糕的是,在某些情况下,具有这些凭据的人可以从 MySQL 的默认安装中无需密码登录测试数据库。

结论:立即删除测试用户!!!

问题 2. 这个可以

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

根@本地主机

dbcon@localhost

他们有不同的访问权限。

只需运行这些命令,即可查看访问权限的差异

SHOW GRANTS FOR root@localhost;

SHOW GRANTS FOR dbcon@localhost;

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

相关内容