由于某种原因,我的生产数据库决定发出此消息。所有应用程序调用均失败,并显示以下错误:
PreparedStatementCallback; SQL [ /*long sql statement here*/ ]; Can't create/write to file '/tmp/#sql_3c6_0.MYI' (Errcode: 2); nested exception is java.sql.SQLException: Can't create/write to file '/tmp/#sql_3c6_0.MYI' (Errcode: 2)
我不知道,这甚至意味着什么。里面没有文件#sql_3c6_0.MYI,由于某种原因/tmp,我无法使用#字符创建文件。有没有人听说过或看到此错误?有什么问题和需要注意的地方?
#sql_3c6_0.MYI
/tmp
#
MySQL数据库似乎已启动并正在运行,可以通过控制台进行查询,但应用程序似乎无法通过它进行查询。应用程序代码/文件没有变化。它只是突然变蓝了。因此,我什至不知道从哪里开始寻找外观或采用哪种解决方案。有任何想法吗?
通常,这意味着您的/tmp分区空间不足,无法创建文件,或者由于某种原因mysqld,由于权限问题,进程无法写入该目录。有时selinux在游行队伍下雨时就是这种情况。
mysqld
selinux
/tmp默认情况下,任何返回“临时文件”的操作都将进入该目录。您看到的名称只是一些内部随机名称。