MySQL error writing file 错误
短信预约 -IT技能 免费直播动态提醒
前一段时间在MySQL中归档整理历史数据时发现有很多的SQL无法被执行,刚刚开始以为时写的SQL语句有问题,在把所有在执行的SQL拿出来看时发现语法并没有错,但是在INSERT语句执行时报错:
而把INSERT语句LIMIT 1条插入是没有问题的。初步估计是INSERT的事务过大,去查了下资料才知道原来MySQL在创建临时表时缺省会将数据文件放在系统的/tmp目录下如果系统的/tmp目录空间不大就会无法创建临时表,其中该路径有MySQL的tmpdir参数控制,由于这个是历史数据所以每个要插入的INSERT语句后都跟有SELECT大表必然会创建临时表,但系统的/tmp目录不够,所以只能修改tmpdir,这个参数无法直接修改需要写入配置文件重启生效,在大空间的目录下创建一个tmp文件夹修改权限(777)后给tmpdir使用
[mysqld]
tmpdir = /data/tmp
再重启MySQL生效,这样问题解决。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341