Can’t create/write to file ‘c:\temp/#sql-XXX.MYI′
这两天在使用MySQL做点东西,可是从前天开始,系统启动时经常出现类似Can’t create/write to file ‘c:\temp/#sql-XXX.MYI′ (Errcode: 13)"的错误,我以为可能是我的系统的问题,于是重启应用和MySQL,该问题还是陆陆续续会出现,但又不是始终出现。我注意到该问题一般都在查询数据量比较大的时候才出现,我想应该是在做大数据量的数据库操作,MySQL想往temp目录写临时文件时,则于某种原因无法写入导致了该问题,于我,我尝试着着按以下步骤进行分析处理。
一、这可能是MySQL以前生成的临时文件还存在,但具有只读属性导致无法写入。我仔细查看temp目录,却没有找到扩展名为“MYI”的文件,于是把临时目录下的所有文件都删除。重新启动MySQL和应用系统,但问题还是会出现;
二、我怀疑是不是temp目录具有只读属性或对MySQL用户禁止写入,但我的在WindowsXP上,而且临时目录里会有别的系统产生的临时文件,说明该目录是可以读写的,而且我启动MySQL用的是超级用户,所以不存在目录无写权限的问题;
三、会不会是杀毒软件的实时文件保护导致无法写临时文件呢?因为我的杀软的病毒库是天天升级的,前几天也系统没出现过该问题,而这几天可以,是不是我升级了病毒库后,杀软阻止了MySQL产生临时文件呢?我在杀软中把temp目录设为不检测,再重启MySQL和应用,再看着temp目录,里面会出现#sql-XXX.MYI或#sql-XXX.MYD等临时文件,应用系统启动正常。看来问题就出在杀软禁止MySQL产生“MYI”或“MYD”临时文件导致了该问题。
至此,我以为问题就这样解决了,可是在接下来的一次启动中,我看到临时文件产生了,我就在临时文件#sql-XXX.MYI上点右键,想看看文件属性,这一点可好,应用系统又出现了原来的错误,咋回事?我再次停掉应用然后重启,重启过程中不对临时文件作任何操作,应用启动都正常。这是为什么呢?
我分析原因可能是这样的:MySQL产生的临时文件存在时间很短,MySQL在产生临时文件后需要马上使用马上删除,这时候如果有另外一个软件对这些临时文件进行访问或操作的话,MySQL就无法及时获得文件访问权限,就抛出错误。杀软由于启用了文件保护功能,当MySQL产生临时文件后,即锁定文件进行病毒检测,导致了MySQL自己不能马上操作这些文件从而抛出错误,同样的,当我试图查看文件属性时,操作系统对文件也进行了短时间的锁定,而这一锁定导致MySQL自己无法操作,所以也抛出这个错误来。
现在这个问题貌似已经解决,但是否真的已解决还有待接下来几天观察,我的分析是不是正确也有待历史来作出裁定,呵呵。
另外,我也在网上搜了一把,发现很多人也遇到这个问题,但多数人都认为是目录没有写权限而导致,也有部分人知道是杀软导致的这个问题,却没有深入的分析其原因,我就当给有相同遭遇的弟兄抛个砖吧。
关键词:MySQL
相关阅读
- 04-04ubuntu下安装了mysql 5 server忘记root密码怎么办?
- 04-04权限问题导致的MYSQL无法正常启动问题的解决办法
- 04-04Win7系统安装MySQL5.5.21图解教程
- 10-21Win2008 r2 下修改mysql data目录的方法
- 10-21MySQL修改root密码的4种方法(以windows为例)
- 03-29微软补丁KB967723造成MySQL频繁无法连接,刷新即恢复正常的解决方法 (Can not connect to MySQL server)
- 03-29Can't connect to MySQL server on 'localhost'
- 04-08Win2003+IIS6.0+php5.2.2+MySQL 5.0.41+ZendOptimizer 3.2.8 +phpMyAdmin 2.10.1环境配置安装教程图文详解
- 04-04快速让MySQL数据库服务器支持远程连接
- 02-23MYSQL数据库实用学习资料之常用命令集合
阅读本文后您有什么感想? 已有 人给出评价!
用户评论
热门评论
最新评论
相关软件
热点图文
- 01-05mysql安装图解、mysql5.6.10安装详细图文教程
- 01-04Mysql 安装问题。提示MySQL Server 5.1 -- Error 1335.
- 11-22service mysql start出错,mysql不能启动,解决mysql: unrecognized service错误
- 01-11Can't connect to local MySQL server through socket '/tmp/mysql.sock'(2)
- 11-24wdcp修改mysql数据库root密码时提示原密码不对
- 05-13MySQL数据库INNODB 表损坏修复处理过程
- 07-18MySql5.0 Table错误:is marked as crashed and last (automatic?) repair failed
- 08-03如何查询mysql数据库中哪些表的数据量最大?
- 01-24MYSQL-Front中文版使用图文教程
- 04-04Win7系统安装MySQL5.5.21图解教程