mysql: ERROR 1 (HY000): Can't create/write to file 'C:/WINDOWS/TEMP/#sql_** .MY

 

当我在mysql sq_chenyiyi1库里面运行
select pc.skuid,ct.description as type_dp,cb.description as brand_dp,ct.name as type,ct.id as type_id,cb.name as brand,cb.id as brand_id from brand_type as bt ,categories_brand as cb ,categories_type as ct,products as p,products_categories as pc where pc.skuid=p.skuid and bt.brand_id = cb.id and bt.type_id=ct.id and pc.type_id=ct.id group by ct.id,cb.id order by cb.id,bt.seq;
时就会出现ERROR 1 (HY000): Can't create/write to file 'C:/WINDOWS/TEMP/#sql_650_0.MYD' (Errcode: 17)
创建不了二进制日志

1, C:/WINDOWS/TEMP文件夹权限不够,至少也要给出USERS组的可读可写权限; (给出权限)
2, C:/WINDOWS/TEMP文件夹的磁盘满了,文件写不进去了;(清空TEMP文件夹)
3, 你的服务器装了MCAFEE杀毒软件,它的访问保护禁止了TEMP文件可写;(修改访问保护设置)
4, 还是MCAFEE杀毒软件的问题,解决步骤:按访问扫描属性-所有进程-检测项-扫描文件(在写入磁盘时)勾去掉,OK.

说明:
1, 有很多人说是1,2条的问题.难道大家这个都不知道吗?笑话!
2, 有很多人说删#sql_5ac_0.MYD' 这个文件就可以了,是啊.没错,当时是可以了.当你操作数据库后又会出现此问题,难道不是吗?所以删除#sql_5ac_0.MYD' 文件后根本没解决真正的问题;
3, 最终由本人一个晚上未睡觉,多次测试,找到了最终的原因就是第4条,MCAFEE杀毒软件的问题.

 

在my.ini中[mysqld]里面添加一行

tmpdir="d:/mysql/temp/"

指定创建创建临时文件的目录,大量查询时会用到
重新启动mysql服务使之生效.

打开McAfee VirusScan控制台->按访问扫描程序->属性->所有进程->检测项->排除项->添加D:/mysql/temp/
排除时间选择读取时写入时.


备注:由于mysql默认的临时目录是c:/windows/temp,网上流传的说法是
修改McAfee VirusScan控制台->按访问扫描程序->属性->所有进程->检测项->扫描文件去掉写入文件时,
我的方法相对要安全些.

至于权限,由于mysql服务默认是系统权限,一般都是系统完全控制的,如果必要,也可给个启动用户.

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值