如何在MySQL中清理或调整ibtmp1文件的大小?

时间:2016-12-19 06:05:41

标签: mysql database innodb mysql-5.7

MySQL 5.7引入了一个新文件 ibtmp1 ,用于在InnoDB中存储临时数据以提高性能。

但我注意到它的大小不断增加。在我的数据库服务器上,它的大小增加到92GB。

有没有办法缩小尺寸或删除文件而无需重新启动服务器

由于

2 个答案:

答案 0 :(得分:19)

创建的 ibtmp1 无法在不重启mysql服务的情况下通过任何方法收缩。

有两种方法可以处理它:

预防措施:在服务器启动时,您应该将此文件的大小限制为:

 innodb_temp_data_file_path = ibtmp1:12M:autoextend:max:5G

其中max 5G表示此文件大小限制为5GB。

治愈:如果已创建文件,则需要重新启动服务:

SET GLOBAL innodb_fast_shutdown = 0;
Shutdown MySQL
remove ibtmp1
start MySQL.

答案 1 :(得分:2)

在mysql 5.7及更高版本中,要回收ibtmp1文件使用的空间,您要做的就是重新启动服务

不必不必设置 GLOBAL innodb_fast_shutdown = 0; 或手动删除文件。