众妙之门

业精于勤,荒于嬉;行成于思,毁于随

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

查看mysql的log-error日志发现如下错误:

ERROR 3 (HY000): Error writing file '/tmp/MYbEd05t' (Errcode: 28)

这是由于mysql运行sql时会产生临时文件,这个临时文件大小取决于sql语句和表的大小,当存放临时文件的分区“/”大小不足的时候会出现上述错误。这时候需要更改临时文件目录的位置到空间足够的分区下,步骤如下:

1.首先找到临时文件目录位置,在mysql命令行模式下输入:

show global variables like '%tmpdir%';

2.确认该位置下的分区空间是否可以释放出足够的空间,或者更改其临时文件目录:

set global tmpdir = '/data/mysqltemp';

3.接下来还需要修改mysql的配置文件my.cnf,在其中修改或者[mysqld]区块下新增如下配置:

tmpdir=/data/mysqltemp

4.再次执行步骤1,确认是否修改成功

5.最后给新增的临时文件目录授予可写权限,确保能够正确写入:

chmod a+w /data/mysqltemp

最后若是仍未生效,可以在不影响业务运行条件下尝试重启该mysql服务,对新部署mysql的服务器也应该尽早把临时文件目录更改至空间富余的分区下,避免日后不必要的麻烦。

posted on 2019-01-23 14:37  xuanm  阅读(997)  评论(0编辑  收藏  举报