ERROR:Temporary file write failure.

背景:在执行DDL原句的时候失败报错

错误信息:

(1878, ‘Temporary file write failure.’)

排查报错原因:

看报错是临时文件写入失败,在结合当时执行的sql来看确实是需要创建临时表

1
2
alter table replace_test add index age(age);

这样一看在结合经验来看应该是临时目录满了,好家伙不看不知道,一看原来是磁盘都满了

看一下磁盘满的原因,看起来是dd进程有大量的写入

找一下导致磁盘满的大文件在哪里

看起来主要是在var下面,然后一步一步定位到/var/lib/mysql下面fulltmp文件

解决方法:

这个文件应该是没什么用直接删除就好,删除之后磁盘下降