Can’t create/write to file ‘c:\temp/#sql-XXX.MYI′
这两天【zhè liǎng tiān】在使用【zài shǐ yòng】MySQL做点东西【xī】,可是从前天开🍷始【shǐ】,系统启【xì tǒng qǐ】动时经🌕常出现类似【lèi sì】🐕Can’t create/write to file ‘c:\temp/#sql-XXX.MYI′ (Errcode: 13)"的错误👆,我以为可能是我的系统的问【tǒng de wèn】题【tí】⚽,于是重🙋启应用和MySQL,该问题【tí】⚫还是陆陆续续【lù xù xù】🥍会出现,但又不【dàn yòu bú】🔑是始【shǐ】终🤝出现。我注意到该问题【tí】⚫一般都在查询数据量比较大的时候才出现【cái chū xiàn】,我想应该是在做大数🍤据量的数据库【shù jù kù】操作🌉,MySQL想往temp目录写临时文🐘件时【jiàn shí】,则于某【zé yú mǒu】种原因🎭无法写【wú fǎ xiě】入导致🈹了该问题【tí】⚫,于我【yú wǒ】,我尝试🛠着着按以下步👜骤进行【zhòu jìn háng】分析处理🍰。
一、这可能【zhè kě néng】是【shì】MySQL以前生成的临时文件还存在,但具有只读属性导致😧无法写😊入【rù】🙆。我仔细查看temp目录,却没有找到扩🎒展名为“MYI”的文件【de wén jiàn】,于是【shì】把🍊临时目【lín shí mù】录下的🐘所有文件都删【jiàn dōu shān】除。重新启【chóng xīn qǐ】🛣动MySQL和应用【hé yīng yòng】系统【xì tǒng】🚂,但问题还是会【hái shì huì】👪出现🕸;
二【èr】、我怀疑是不是temp目录具【mù lù jù】有只读👠属性或【shǔ xìng huò】🍑对MySQL用户禁🎫止写入【zhǐ xiě rù】,但我的【dàn wǒ de】在WindowsXP上,而且临【ér qiě lín】时目录里会有【lǐ huì yǒu】🕵别的系统产生的临时🆕文件🤨,说明该🌗目录是【mù lù shì】可以读🐤写的【xiě de】,而且我启动【qǐ dòng】MySQL用的是超级用🗂户,所以不存在目🦒录无写权限的问题;
三、会不会🐜是杀毒【shì shā dú】🧕软件的【de】🕖实时文📆件保护导致无法写临📲时文件【wén jiàn】呢?因为我【yīn wéi wǒ】💎的【de】杀软🏒的【de】🎠病毒库【bìng dú kù】是天天升级的【de】🎠,前几天也系统没出现【chū xiàn】🧕过该问🖼题【tí】,而这几【ér zhè jǐ】天可以【tiān kě yǐ】💒,是不是【shì bú shì】我升级【wǒ shēng jí】了病毒库【bìng dú kù】后,杀软阻止了🌂MySQL产生🙃临时文【lín shí wén】件呢【jiàn ne】?我在杀【wǒ zài shā】软中把【ruǎn zhōng bǎ】temp目录设【mù lù shè】为不检测,再重启MySQL和应用🥚,再看着📷temp目录,里面会【lǐ miàn huì】⏸出现【chū xiàn】🧕#sql-XXX.MYI或#sql-XXX.MYD等临时文【lín shí wén】件,应用系🦐统启动正常。看来问题【tí】就出在杀软【zài shā ruǎn】禁止MySQL产生🙃“MYI”或“MYD”临时文【lín shí wén】件导致了该问🐤题【tí】。
至此,我以为🐂问题就【wèn tí jiù】这样解决了🎷,可是在接下来【jiē xià lái】的一次启动中❎,我看到临时文【wén】🆗件产生🌎了🎷,我就在🕑临时文【wén】🆗件#sql-XXX.MYI上点右【shàng diǎn yòu】键,想看看文【wén】件属🌎性,这一点可好,应用系统又出现了原【xiàn le yuán】😘来的错误,咋回事?我再次【wǒ zài cì】停掉应💥用然后♈重启【chóng qǐ】,重启过【chóng qǐ guò】程中不【chéng zhōng bú】🐢对临时【duì lín shí】文【wén】🆗件作【jiàn zuò】🧡任何操【rèn hé cāo】🐍作🧡,应用启动都正常【cháng】。这是为【zhè shì wéi】什么呢🤛?
我分析【wǒ fèn xī】☝原因可能是这样的:MySQL产生的🚐临时文【lín shí wén】👄件存在时间很短【duǎn】,MySQL在产生临【chǎn shēng lín】时文👄件后需要马上🍷使用马【shǐ yòng mǎ】上删除,这时候【zhè shí hòu】如果有【rú guǒ yǒu】🌄另外一个软件对这些临时文【lín shí wén】👄件进行访问或操作的🔚话🙎,MySQL就无法及时获得文件访问权限🍟,就抛出💧错误👎。杀软由【shā ruǎn yóu】于启用【yú qǐ yòng】了文件保护功【bǎo hù gōng】能,当MySQL产生临【chǎn shēng lín】时文👄件后,即锁定文件进行病毒🥜检测【jiǎn cè】,导致了【dǎo zhì le】MySQL自己不【zì jǐ bú】能马上操作这【cāo zuò zhè】些文件【xiē wén jiàn】从而抛【cóng ér pāo】出错误🍓,同样的【tóng yàng de】,当我试🐖图查看文件属【wén jiàn shǔ】🤪性时【xìng shí】,操作系统对文件也进🏰行了短【duǎn】💦时间的🏁锁定,而这一🥍锁定导🛐致【zhì】MySQL自己无🗺法操作,所以也【suǒ yǐ yě】抛出这🚑个错误【gè cuò wù】👷来。
现在这个问题【gè wèn tí】🍵貌似已🚨经解决🎵,但是否真的已【zhēn de yǐ】解决还💎有待接下来几【xià lái jǐ】天观察【tiān guān chá】,我的分【wǒ de fèn】析是不是正确🥥也有待【yě yǒu dài】历史来作出裁定🤹,呵呵。
另外📒,我也在【wǒ yě zài】🦅网上搜【wǎng shàng sōu】了一把,发现很多人也遇到这个问题【gè wèn tí】,但多数【dàn duō shù】人都认为是目🦄录没有⌚写权限🚗而导致,也有部🚹分人知💕道是杀🎬软导致【ruǎn dǎo zhì】的这个【de zhè gè】问题,却没有深入的分析其【fèn xī qí】原因,我就当【wǒ jiù dāng】给有相【gěi yǒu xiàng】同遭遇的弟兄📐抛个砖吧。
关键词:MySQL
阅读本文后您有什么感想? 已有 人给出评价!
- 0
- 0
- 0
- 0
- 0
- 0