admin管理员组文章数量:1618732
现象
数据库执行ddl时报错:[HY000][1878] Temporary file write failure.
原因
创建临时表的时候,因为临时空间不够,导致临时文件写入失败
解决
MySQL官方文档中的说明
1.查看临时空间路径
SHOW VARIABLES LIKE 'tmpdir'
我的是默认路径,根据官方文档及网友们提供的思路,修改临时空间即可。
2.查看要修改表的数据大小
如果已经修改过临时空间,那么可以尝试扩展临时空间大小,这个我没有尝试
SELECT
table_name AS `Table`,
round(((data_length + index_length) / 1024 / 1024), 2) `Size in MB`
FROM information_schema.TABLES
WHERE table_schema = '库名' and TABLE_NAME='表名';
3.修改临时空间路径
mkdir -p /data/tmp
chown -R mysql:mysql /data/tmp
chmod a+w /data/tmp
修改MySQL配置
vim /etc/myf
把tmpdir设置到 /data/tmp
tmpdir=/data/tmp
修改完成后,需要重启mysql服务
service mysqld restart
参考资料
记一次 Mysql DDL 错误 [Temporary file write failure]
mysql 修改大表字段,报错ERROR 1878 (HY000): Temporary file write failure. 用pt-online-schema-change
【MySQL】ERROR 1878 (HY000): Temporary file write failure.
mysql ERROR 1878 (HY000): Temporary file write failure错误
MySQL官方文档——15.12.3 Online DDL Space Requirements
MySQL官方文档——tmpdir
MySQL官方文档——8.4.4 MySQL中内部临时表的使用
本文标签: fileTemporaryfailurewrite
版权声明:本文标题:【已解决】Temporary file write failure 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dongtai/1728786213a1173359.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论