我有15个数据库运行MariaDB,每个数据库大约有1000个表。每晚,我运行mysqlcheck来修复和优化大约需要一个小时的表。我以前做过尾-F日志,它看起来好像一次遍历大约900个表,输出它正在寻找的,然后做更多的。我决定通过一个时间戳(来自更多的时戳)来运行输出,这样我就可以验证这一点,并查看哪些表占用的时间最长,并且有可能清理不必要的数据。命令的输出显示第一个表需要13分钟,然后执行900个表,每个表0秒,然后在另一个表上停止13分钟。它停下来的桌子没有一张特别大,也没有被撞到。因此,我的问题是,mysqlcheck是否正在缓冲它的输出,是否有办法阻止它这样做,还是我正在考虑编写一个手动脚本?
命令:/usr/bin/mysqlcheck -p<PASSWORD> -A --auto-repair -o
服务器版本:10.0.29-MariaDBSLE 12 SP1
发布于 2018-03-16 18:31:58
(这个“答案”没有回答这个问题;它消除了这个问题。)
不要使用MyISAM;切换到InnoDB。这样就不需要修理表了。
不要使用MyISAM;切换到InnoDB。这就消除了对OPTIMIZE表的需求。
https://dba.stackexchange.com/questions/200390
复制相似问题