Can't create/write to file '\sqla3fe_0.ism' (Errcode: 28)
Windows 下典型路徑含反斜線;Linux/Unix 類似 /tmp/#sql_123_0.MAI。
[mysqld]
tmpdir = /mnt/mysql_tmp # Linux
tmpdir = D:/mysql_tmp # Windows1777 (sticky bit)。df -h /mnt/mysql_tmp 確認可用空間 > 總資料量 2 倍。df -i /tmp
# Inode 使用 100% 時雖有磁碟空間也無法建檔
find /tmp -type f -mtime +7 -delete-i 參數)。ausearch -m avc -ts recent 檢查拒絕日誌。setenforce 0(永久修改 /etc/selinux/config)。shell> perror 28
Error code 28: No space left on device
shell> perror 13
Error code 13: Permission denied
shell> perror 24
Error code 24: Too many open files
[mysqld]
tmpdir = /tmp1:/tmp2:/tmp3 # 冒號分隔,MySQL 輪詢使用
ORDER BY/GROUP BY/UNION 產生磁碟臨時表場景。Created_tmp_disk_tables / Created_tmp_tables 比率 > 10% → 檢查 tmpdir 效能。mysqld_tmpdir_free_bytes 告警閾值 < 5GB。「無法建立/寫入檔案」本質是暫存空間資源耗盡或存取受限。標準化處置:指定獨立大容量 tmpdir → 設定 sticky bit 權限 → 監控磁碟/Inode 使用率 → 排除安全軟體干擾,即可徹底根治。