MySQL下“Can’t create/write to file xxx (Errcode: 13)”錯誤的解決方法

文章分析與介紹關于在使用MySQL中提示“Can’t create/write to file xxx (Errcode: 13)”錯誤問題的原因與處理方法。

最近碰到一個 MySQL不能創建臨時文件的錯誤,解決過程中學到一些知識,這裏分享一下,希望對碰到類似問題的同學有所幫助~

關于MySQL臨時文件:


1、MySQL使用環境變量TMPDIR的值作爲保存臨時文件的目錄的路徑名。如果未設置TMPDIR,MySQL將 使用系統的默認值,通常爲/tmp、/var/tmp或/usr/tmp。
2、MySQL會以隱含方式創建所有的臨時文件。這樣,就能確保中止mysqld時 會刪除所有臨時文件。
3、 進行排序時(ORDER BY或GROUP BY),MySQL通 常會使用1個或多個臨時文件。
4、對于某些SELECT查 詢,MySQL還會創建臨時SQL表。 它們不是隱含表,並具有SQL_*形 式的名稱。


分析問題:


如果某些查詢遇 到”Can’t create/write to file xxx (Errcode: 13)“類型的錯誤,它意味著MySQL不能爲臨時 目錄下的結果集創建臨時 文件。
Google查詢得知以下三種情況可能會導致此問題:


①、%TMPDIR% 文件夾權限不夠。
②、%TMPDIR% 文件夾的磁盤滿了,文件寫不 進去了,清空 TEMP 文件夾;
③、第三方限制(如殺毒軟件的限制)

解決方法:


方法一、在my.inip配置文件中查找”[mysqld]“,在其下添加一行:
tmpdir=%你想指定的MySQL臨時文件目錄(例如 D:temp)%
方法二、如果機器上裝了殺毒軟件,可以嘗試排除對臨時文件的掃描。
360殺毒(已測試過):
設置—>>>白名單設置—>>>添加目錄—>>>%TMPDIR%–>>> 確定。
麥咖啡(網上信息,未親自測試 過):
打開McAfee VirusScan控制台->按訪問掃描程序->屬性->所有進程->檢測項->排除項->添加%TMPDIR%,排除時間選擇讀取時寫入時。

資源:


Can’t create/write to file …解決方法—-hi.baidu.com/%D3%B2%BA%BA%D6%DD%B3%A4/blog/item/42166e9bccbb97bfc9eaf4ca.html

A.4.4. MySQL將臨時文件儲存在哪裏—dev.mysql.com/doc/refman/5.1/zh/problems.html#temporary-files

A.2.12. 無法創建文件/寫入文件—dev.mysql.com/doc/refman/5.1/zh/problems.html#cannot-create

MySQL更多問題—dev.mysql.com/doc/refman/5.1/zh/problems.html

修改方法

下面介紹兩種MySQL修複表的方法。

1. myisamchk

使用myisamchk必須暫時停止MySQL 伺服器。例如,我們要檢修blog數據庫。執行以下操作:

# service mysql stop (停止MySQL)
# myisamchk -r /datawhere/blog/*MYI
# service mysql start myisamchk 會自動檢查並修複數據表中的索引錯誤。

2. mysqlcheck

使用mysqlcheck無需停止MySQL,可以進行熱修複。操作步驟如下:(檢修 blog庫)

# mysqlcheck -r -uroot -p blog

注意,無論是 myisamchk還是mysqlcheck,一般情況下不要使用-f強制修複,-f參數會在遇到一般修複無法成功的時候刪除
部分出錯數據以嘗試修複。所以,不到萬不得已不要使用-f。

如果你怕使用命令有問題,可以使用phpmyadmin直接進行修複哦

更多相關文章
  • mysql出現Error writing file \'xxx\'( Errcode:28)的原因有很多種,下面我來總結一些常用的關于引起Errcode:28錯誤原因與解決方法.問題一,是log日志太大也會導致mys
  • 文章總結了在centos中使用rpm安裝mysql出錯問題總結與這些問題的解決辦法,文章內容全部自由網路本人只是總結了相關問題解決辦法並沒有自己測試過哦,希望對各位帶來幫助.[root@cch rpm]# rpm -ivh MySQL-server-5.5.29-1.rhel5.x86_64.rpm ...
  • asp教程.net file.delete刪除文件失敗解決方法if(file.exists(server.mapparh("~/"+filename)) file.delete(server.mapparh("~/"+filename));下面看詳細刪除代碼p ...
  • 今天在Linux系統中格式化新分區的時候,提出錯誤:Could not stat /dev/sda7 --- No such fileor directory,下面來記錄我是如何解決這個錯誤的.Linux查看已經分好
  • 我本以爲這已經是順利遷移完成了,但後來操作的時候,發現只能讀取數據庫的內容,不能更改寫入任何信息,提示#1036 – Table ‘* ‘ is read only (*號爲任意表),也就是說表只有唯讀屬性.通過SSH,給數據庫文件777權限,dedeadmin是我的數據庫文件夾chmod -R 0
  • Mysql中出現 errno:145的解決方法
    本文章是告訴你關于怎麽來把在使用mysql時出來 errno:145錯誤的解決方法,有碰到想同問題的朋友可以嘗試一下下哈.俗話說常在河邊走哪能不濕鞋呢,mysql用多了也會出現很多莫名其妙的問題Can’t open file: ‘×××.MYI’ (errno: 145),這個錯誤一般就是你的數據庫
  • 下面我們一起來看篇關使用debian時擋牆Read-only file system問題的具體解決方法,如果你碰到此類問題不防進入參考吧. 1.查看有多少分區及其格式cat /etc/fstab/dev/VolGroup00/LogVol03 /opt ext3 defaults 1 22.在每個分
  • 今天發現一個奇怪的問題把mysql重新安裝之後發現再去連接mysql提示1045錯誤了,無法正常連接mysql數據庫了,下面我們一起來看此問題解決辦法.之前因爲沒有正常關機 mysql 服務無法正常啓動.後來重新安裝了之後還是不能進入root賬戶提示1045錯誤.解決方法:1.停止服務2.修改my.
一周排行
  • PowerPoint2003怎麽在擴展屏上全屏播放
    我們通常會要做一些演講了,此時首選肯定是ppt邊放邊講了,但有一個問題就是要如何讓ppt在
  • Windows中zabbix監控mongodb數據庫例子
    zabbix可以用于linux系統同時也可以用于windows下,下面我們在win伺服器中 ...
  • 本文章是關于appcan開發移動app與伺服器端session的狀態管理與交互例子,希望此開會例子可以幫助到大家的哦.我們進行web開發的時候,一般使用cookie或session來保存用戶的登錄狀態,通過檢查coo
  • 在js中要實現字符串分割我們可以利用split來實現,有需要的朋友可以參考一下下.假設需要分割的字符串是:s="....fs...fs....",其中fs代表用以分隔的字符或字符串.定義和用法sp ...
  • Distributed Replicated Block Device(DRBD)是一個用軟件實現的.無共享的.伺服器之間鏡像塊設備內容的存儲複制解決方案.數據鏡像:及時.透明.同步(所有伺服器都成功後返回).異步( ...
  • linux中alias指令使用詳解
    alias別名指令許多的朋友對于這個是有一些不理解了,對于alias用法我下面給各位詳細的
  • 表單自動有這樣一個功能就是在你輸入很多內容提交之後,下次會自動填充了,如果我們是使用了ajax就不希望它有這個功能,我們就需要禁止表單input自動完成,下面我來介紹幾種方法.整個表單禁止自動完成 代碼如下 < ...
  • 利用一段腳本我們可以實現兩台伺服器之間數據的備份了,下面這段shell腳本是先把指A機器上的文件下載到B伺服器進行備份了,這裏是基于ftp伺服器的,希望文章對各位會帶來幫助.#####從ftp伺服器上的/home/d
  • Windows 7電腦爲什麽Aero 特效無法顯示
    本文章來給大家介紹關于Windows 7電腦Aero 特效無法顯示的解決辦法,各位碰以此類
  • 在php中對目錄的操作函數不多,本文章主要介紹opendir(),readdir(),closedir(),使用的時候是先打開文件句柄,上當刪除mkdir($path,0777) ,0777是權限碼,在非window