今日一台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 //phpfensi.com
如果mysql是独立账户运给,请给与目录账户的读写权限,重启mysql.