萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mysql教程 >> 解決MYSQL出現Cant create/write to file #sql

解決MYSQL出現Cant create/write to file #sql

今天我上網站的管理後台,登錄時提示
MySQL error:Can't create/write to file '#sql_5c0_0.MYD'
MySQL server error:
Can't create/write to file 'C:/WINDOWS/TEMP/#sql_a80_0.MYD' (Errcode: 17) ( 1 )
根據從網上搜索問題提示和自己遇到的情況分析、解決辦法如下:

說明:
出現這個問題是由於服務器環境不允許執行數據庫校驗,無法進行此操作。
解決思路和原因:
1、權限問題 C:/WINDOWS/TEMP文件夾權限不夠,最少要給出USERS組的可讀可寫權限、要不就給everyone權限也可以;
2、文件太大 C:/WINDOWS/TEMP文件夾的磁盤滿了,文件寫不進去了,此時清空temp文件夾裡面的數據就可以;或者刪除這個文件#sql_2250_0.MYD(若執行下面的步驟這個文件還是必須要刪除的);

注:但是這不是根本的解決辦法要是服務器裝了 McAfee必須執行下面的步驟才可以解決這個問題

3、殺毒軟件McAfee問題
 3.1、McAfee訪問保護設置問題 修改McAfee的訪問保護為允許TEMP文件可寫;
 3.2、McAfee的訪問掃描問題 打開McAfee按訪問掃描屬性-所有進程-檢測項-掃描文件(在寫入磁盤時)勾去掉;

4、解決MYSQL出現 Can't create/write to file 'C:/WINDOWS/TEMP/#sql_5c0_0.MYD'
在my.ini中 [mysqld]裡面添加一行
tmpdir="d:/mysql/temp/"
指定創建創建臨時文件的目錄,大量查詢時會用到
重新啟動mysql服務使之生效.

打開McAfee VirusScan控制台->按訪問掃描程序->屬性->所有進程->檢測項->排除項->添加D:/mysql /temp/
排除時間選擇讀取時寫入時.

備注:由於mysql默認的臨時目錄是c:/windows/temp,網上流傳的說法是
修改McAfee VirusScan控制台->按訪問掃描程序->屬性->所有進程->檢測項->掃描文件去掉寫入文件時,
我的方法相對要安全些.

至於權限,由於mysql服務默認是系統權限,一般都是系統完全控制的,如果必要,也可給個啟動用戶。

copyright © 萬盛學電腦網 all rights reserved