mysql 最近运行较大的存储过程时经常会报错,报错1114,提示:
1114 Error, The table /tmp/#sql~~~ is full
mysql8.0 正好这周升级了新版本,找了国内很多解决方案都无济于事,包括调整 tmp_table_size 和 max_heap_table_size 大小,清理硬盘空间,更换缓存表文件夹位置,都没有解决,最后还是公司老大找到了外网解决方案搞定。
mysql 太坑了,升级这种机制按说应该及时通知的。
解决方案如下
调整 temptable_max_ram =default
调整 internal_tmp_mem_storage_engine = MEMORY
最后调整 tmp_table_size, max_heap_table_size 这两个表大小到适当即可。