我在windows开发机器上使用mysql,而且很长一段时间内一切都很好。
但是今天我的电脑运行缓慢,我注意到mysqld.exe的CPU使用率在25%到40%之间。
我尝试过重新启动并给它一些时间,但是即使在桌面上空闲时,CPU的使用也是相当稳定的。我注意到硬盘也工作得很辛苦,可能是因为我自己
我确信没有什么东西是把服务器作为唯一连接到它的东西,就是我正在开发的本地机器上的应用程序,并且没有运行。
但是,为了确保我运行了以下语句
C:\Program Files\MySQL\MySQL Server 5.6\bin>mysqladmin -u root -p status
Enter password: **********
Uptime: 995 Threads: 1 Questions: 2 Slow queries: 0 Opens: 67 Flush tables: 1
Open tables: 60 Queries per second avg: 0.002
C:\Program Files\MySQL\MySQL Server 5.6\bin>mysqladmin -u root -p processlist
Enter password: **********
+----+------+----------------+----+---------+------+-------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+----+------+----------------+----+---------+------+-------+------------------+
| 2 | root | localhost:1775 | | Query | 0 | init | show processlist |
+----+------+----------------+----+---------+------+-------+------------------+这似乎也表明了服务器没有做任何事情。
那么,是什么原因呢?我的家人在做什么?
编辑:我最近确实删除了一条花费了很长时间的更新语句。这跟这事有关系吗?
发布于 2014-06-25 02:46:12
是的,你的杀人声明是可能的原因。
命令SHOW PROCESSLIST将只显示前景线程中发生的情况。InnoDB可能会在后台回滚事务。您可能会发现一些诊断方法很有用:
SHOW ENGINE INNODB STATUS --看看InnoDB里面发生了什么。在“交易”项下,您应该看到您被杀的主食正在回滚。SELECT * FROM performance_schema.threads -在MySQL中显示所有线程。https://dba.stackexchange.com/questions/68965
复制相似问题