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