当前位置:  开发笔记 > 后端 > 正文

MySQL在做什么?引导时100%的磁盘利用率

如何解决《MySQL在做什么?引导时100%的磁盘利用率》经验,为你挑选了1个好方法。

我在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

目前还没有关于数据完整性的想法,但是看起来还不错。

感谢米尔尼。



1> Milney..:

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

然后,您可以使用类似的方法SELECT * FROM information_schema.innodb_trx\G来查看未完成的事务,并查看导致此问题的语句

推荐阅读
贾志军
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有