mysql报错out of sort memory
前言
最近再用MySQL数据库排序时遇到了一个报错,Out of sort memory, consider increasing server sort buffer size,字面翻译就是排序缓冲区内存不足,下面记录下如何解决
解决
1、打开MySQL终端连接到数据库
1 | mysql -u root -p |
输入密码后,连接到数据库
2、用命令看下当前缓冲区大小
1 | show variables like '%sort_buffer_size%'; |
找到 sort_buffer_size这行,后面的value就是大小,比如1024 * 1024 才是1KB的大小,根据实际情况调整该大小
3、调整sort_buffer_size大小,比如我要调整到512k
1 | SET GLOBAL sort_buffer_size = 512000000; |
4、执行上述sql后,不要着急查询,需要先exit退出当前mysql连接,重新连接才能生效,如果是navicat,需要关闭当前数据库连接,重新打开才可生效
最后再尝试排序,发现已正常,无报错
注意
这种设置方式在mysql重启后会失效,所以如果需要永久生效,请在my.cnf中配置