mysql - MySQL 在做什么??启动时磁盘利用率为 100%

标签 mysql database server disk utilization

我在 Win10 机器上有一个大型数据库,mysqld.exe 执行大量磁盘 I/O,100%,持续数小时和数小时 100MB/秒 - 主要是写入 - 在多次重新启动后仍然存在。我怎样才能找出它到底在做什么,并阻止它?我知道数据库目前没有被使用,我想找出这个 I/O 来自哪里并停止它。我在互联网上找到的唯一解决方案是一般配置建议,我不需要那个,我现在需要关闭这个东西!

show processlist 什么都不显示。

更新:问题是对表的大量后台回滚操作。解决方案是:

1) kill mysqld.exe
2) add innodb_force_recovery=3 to my.ini
3) start mysqld.exe
4) export the table (96GB table resulted in about 40GB .sql file)
5) drop the table
6) kill mysqld.exe
7) set innodb_force_recovery=0 to my.ini
8) reboot and import the table back

尚不清楚数据完整性,但看起来不错。

感谢米尔尼。

最佳答案

如果您从任务管理器查看资源监视器的“磁盘”选项卡,您可以看到正在写入哪些文件,这将提示您它是哪个数据库;

然后您可以使用类似 SELECT * FROM information_schema.innodb_trx\G 的东西来查看打开的事务并查看哪些语句导致了此

Resource Monitor

关于mysql - MySQL 在做什么??启动时磁盘利用率为 100%,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41612590/

相关文章:

php - 多个 MSQL 表和外键

python - 无法将 WTForms 数据提交到 MySQL

c++ - Netbeans C++ 与 mysql windows

php - 如何在 MySql 中使用 PHP foreach

java - Hibernate:将 Double 作为 Int 保存到数据库

database - 错误 3004 : Problem in mapping fragment starting at line

java - 如何将文件上传到我的 Google 应用程序引擎项目而不进行部署?

mysql - 一组数据结构的变化类似于SVN?

mysql - phpmyadmin 服务器名称更改

node.js - 如何从流、文件或 base64 字符串在 Node (服务器端)中创建 blob?