mysql错误代码3错误写入文件(错误代码28)

时间:2015-01-19 15:01:28

标签: mysql tmp

我知道之前已经问过这个问题,但是到目前为止我找不到答案后仍无法解决我的问题。我真的很沮丧所以我试着再次问这里。

我有一个包含7600万行(newpaper_type1_ACD)的表格,我想加入另一个包含大约700万行(bigdatasetauthorseparated)的表格。

查询如下:

insert into newpaper_type1_ADE 
(paperkeyA, paperkeyD, authorE)
select a.paperkeyA, a.paperkeyD, b.author
from newpaper_type1_ACD_notempty a
left join bigdatasetauthorseparated b
on a.paperkeyD = b.paperkey
order by b.paperkey, b.author;

paperkey已编入索引。

我之前尝试过执行相同的查询,但是在较小的数据中并且它有效。但现在它总是在3800秒后停止。

我也尝试改变它,但它不起作用:

set global tmp_table_size = 134217728;
set global max_heap_table_size = 134217728;

我注意到mysql在C:/windows/temp中默认使用临时表。我尝试将TEMP中的TMPenvironmental variable setting的路径更改为另一个硬盘驱动器,但它也无法正常工作。

我的C盘有201GB个可用空间。我的E和F驱动器有大约9TB个可用空间。我的操作系统是Windows Server 2012。

有些文章说我应该更改my.cnf文件并更改tmpdir位置但我找不到此文件。我有my.ini个文件,但我没有在里面看到任何tmpdir变量。

任何帮助都会非常感激。谢谢。

修改: 即使我已将Windows环境变量设置更改为另一个硬盘驱动器(F:/temp),当我使用以下命令检查MySQL命令提示符时:

show variables like 'tmpdir';

tmpdir仍然分配给C:/Windows/Temp。谁能告诉我如何更改MySQL内的tmpdir

0 个答案:

没有答案