看来您的查询返回的是一个大型的中间结果集,需要创建一个临时表,并且MysqL临时磁盘表(/ tmp)的配置位置对于生成的临时表来说还不够大。
您可以尝试通过重新安装来增加tmpfs分区的大小:
mount -t tmpfs -o remount,size=1G tmpfs /tmp
您可以通过编辑/ etc / fstab使此更改永久生效
如果无法执行此操作,则可以尝试通过编辑my.cnf文件中的“ tmpdir”条目来更改磁盘临时表的位置(如果尚未存在,请添加它)。请记住,您选择的目录应该是MysqL用户可写的
您也可以尝试通过增加MysqL配置选项的值来阻止在磁盘上创建临时表:
tmp_table_size
max_heap_table_size
更大的值。您将需要同时增加以上两个参数
例:
set global tmp_table_size = 1G;
set global max_heap_table_size = 1G;