ALTER TABLE语句始终不能结束,登录MYSQL查看show processlist;发现,ALTER TABLE语句在“Repair with keycache”状态。导入mysql数据的时候,出现Repair by sorting的错误,数据一直卡住,无法继续导入

如果出现Repair with keycache时,说明tmp空间不够了....这时MySQL性能极低,又不能冒然kill掉进程,所以耐心等待操作完成吧。

而内存足够的情况下,这种过程应该是提示Repair by sorting



查看内存

free -m


google之,发现是mysql配置的问题,于是按照网络的建议,修改了如下配置 

修改my.cnf的部分参数:


myisam_sort_buffer_size = 1024M

tmp_table_size = 256M


tmpdir = /data/tmp/sql

myisam_max_sort_file_size=20G


重启数据库,再重新导入

查看processlist,很快表创建完成。