淘先锋技术网

首页 1 2 3 4 5 6 7

最近在运行自己的网站时,遇到了一个很奇怪的问题,数据库莫名其妙被启用了,导致我无法正常使用。

首先,我检查了我的应用程序,确保没有任何代码在启用数据库。接着,我开始检查数据库本身。

mysql>show processlist;
+----+------+-----------+------+---------+------+-------+------------------+
| Id | User | Host      | db   | Command | Time | State | Info             |
+----+------+-----------+------+---------+------+-------+------------------+
| 1  | root | localhost | NULL | Sleep   | 5    |       | NULL             |
| 2  | root | localhost | NULL | Sleep   | 5    |       | NULL             |
| 3  | root | localhost | mydb | Query   | 0    |       | show processlist; |
+----+------+-----------+------+---------+------+-------+------------------+

我发现一个名为“mydb”的数据库正在被查询。我想知道是谁在查询它,于是执行以下查询:

mysql>SELECT * FROM information_schema.processlist WHERE db = 'mydb';

结果显示,存在一个名为“mystery_user”的用户在查询这个数据库。但是,我从未创建过这样一个用户。

这是其中一条结果:

+----+---------------+-----------+------+---------+------+--------------+------------------------+
| ID | USER          | HOST      | DB   | COMMAND | TIME | STATE        | INFO                   |
+----+---------------+-----------+------+---------+------+--------------+------------------------+
| 14 | mystery_user  | localhost | mydb | Query   | 0    | Sorting      | SHOW FULL TABLES  WHERE |
+----+---------------+-----------+------+---------+------+--------------+------------------------+

我执行命令来杀掉这个进程,然后删除这个用户。

mysql>KILL 14;
mysql>DROP USER 'mystery_user'@'localhost';

问题解决了!数据库不再被激活,我可以继续使用我的应用程序。