解决SQLException: Temporary file write failure. Mysql Temporary file write failure.

Posted 星丶空LTL

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决SQLException: Temporary file write failure. Mysql Temporary file write failure.相关的知识,希望对你有一定的参考价值。

描述:

项目查询数据库时,报java.sql.SQLException: Temporary file write failure.
把相应sql语句放到数据库中查询,也报Temporary file write failure.

分析:

由于都报了Temporary file write failure.估计原因在mysql数据库上。
我的sql语句中使用了join操作,对于数据量少的操作,查询无异常,而数据量大的join操作就报异常。
估计是数据量过大的join操作超过了join缓存限制,使用到了临时文件,而临时文件还是太小,导致Temporary file write failure.

解决:

先查询数据库join操作的缓存大小

show VARIABLES like '%join_buffer%'


默认 256k(262144)
感觉有点小,修改为10M(10x1024x1024)

set global join_buffer_size = 10*1024*1024;

注意:这里用 global 而不是 session,
global是设置全局系统变量,设置之后程序连接数据库,也是使用这个数值(10M)。
session是设置会话系统变量,当次会话有效,程序连接数据库还是使用默认值(256k)。


再次查看join的缓存大小

再次执行含有join操作的sql,能正常查询~~~
(如果还报Temporary file write failure,再设置大一点,楼主之前设置1M也不行,直到10M才可以)

以上是关于解决SQLException: Temporary file write failure. Mysql Temporary file write failure.的主要内容,如果未能解决你的问题,请参考以下文章

解决SQLException: Temporary file write failure. Mysql Temporary file write failure.

Temporary failure in name resolutionf的解决方法

mycat启动报错UnknownHostException(Temporary failure in name resolution)解决方法

ORA-02195:尝试创建的PERMANENT对象在TEMPORARY表空间中 怎么解决 具体步骤

记一次文件上传报错解决过程The temporary upload location is not vali

Ubuntu 20.04 server不能ping,提示“Temporary failure in name resolution”的解决方法