背景:在执行DDL原句的时候失败报错
错误信息:
(1878, 'Temporary file write failure.')
排查报错原因:
看报错是临时文件写入失败,在结合当时执行的sql来看确实是需要创建临时表
alter table replace_test add index age(age);
这样一看在结合经验来看应该是临时目录满了,好家伙不看不知道,一看原来是磁盘都满了
看一下磁盘满的原因,看起来是dd进程有大量的写入
找一下导致磁盘满的大文件在哪里
看起来主要是在var下面,然后一步一步定位到/var/lib/mysql下面fulltmp文件
解决方法:
这个文件应该是没什么用直接删除就好,删除之后磁盘下降