今天日常巡检,发现接口日志有以下报错:
2022-05-24 00:01:45>[ERROR]:读取所有TCP能力失败:mysql_stmt_execute() error : Can't create/write to file '/tmp/#sql_7f55_1.MYI' (Errcode: 17 - File exists)
首先先去了mysql服务器检查/tmp情况,磁盘空间是正常的,inode节点也没满,另外使用mysql用户也能正常写入文件。
du -sh /tmp/
df -i tmp/
于是到网上查阅资料,参考了这两篇文章:
修改了/etc/my.cnf,因为之前没有指定tmpdir,所以这次新增了这个属性,指定了默认临时数据地址。
grep tmpdir /etc/my.cnf
tmpdir=/var/mysqltmp
重启mysql,再进入mysql查看该属性。
how variables like 'tmpdir';
检查日志已无该类报错。