我在Win10机器上有一个大型数据库,mysqld.exe会执行许多磁盘I / O(100%),并且持续数小时以100MB / s的速度持续写入-主要是写入-多次重启后仍然存在。我怎样才能知道它到底在做什么,并阻止它?我知道数据库目前未被使用,我想弄清楚该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
来查看未完成的事务,并查看导致此问题的语句