今天一臺win2003的統(tǒng)計服務器,出現了統(tǒng)計失敗,mysql錯誤日志顯示:
mysqld-nt.exe: Sort aborted,大概是說 mysql排序中斷。google了一下:
Sort aborted意思是排序取消。
Sort在電腦用語有排序的意思
此出錯信息是指排序過程中(從數據庫從讀取數據默認的是order by id asc),系統(tǒng)難以承受了。(比如數據量特別大等情況)
解決方法有:優(yōu)化sql語句、檢查內存使用情況、MYSQL 配置文件中的 sort_buffer_size 、read_rnd_buffer_size、read_buffer_size 設置大點使用其他方法,比如存儲方法等。
也有可能是數據庫損壞等情況引起的。操作系統(tǒng)的問題不大。
重新統(tǒng)計,仍然這個錯誤,懷疑是昨天新上的一個java應用內存跑得太高了,導致mysql沒有足夠的內存,調小java的運行內存,重試,仍然錯誤。
統(tǒng)計頁面報了一個錯誤提醒了我,大概是說寫入臨時表失敗。
編輯 my.ini,修改mysql的臨時文件目錄:
tmpdir = E:\mysql_tmp
重啟mysql
OK了,NND的編輯部門那MM總是催,不爽她一句。