今日一台Win2003的統計服務器,出現了統計失敗,Mysql錯誤日志顯示:
mysqld-nt.exe: Sort aborted
大概是說 mysql排序中斷。(Sort aborted — 排序取消)
此出錯信息是指排序過程中(從數據庫從讀取數據默認的是order by id asc),系統難以承受了。(比如數據量特別大等情況),也有可能是數據庫損壞等情況引起的。
解決方法:
優化sql語句、檢查內存使用情況、MYSQL 配置文件中的 :sort_buffer_size 、read_rnd_buffer_size、read_buffer_size 設置更大的值。
重新統計,仍然這個錯誤,懷疑是昨天新上的一個java應用內存跑得太高了,導致mysql沒有足夠的內存,調小java的運行內存,重試,仍然錯誤。
統計頁面報了一個錯誤提醒了我,大概是說寫入臨時表失敗。
編輯 my.ini,修改mysql的臨時文件目錄:
代碼如下 復制代碼tmpdir = E:mysql_tmp
如果mysql是獨立賬戶運給,請給與目錄賬戶的讀寫權限
重啟mysql