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

但我注意到它的规模不断扩大.在我的db服务器上,它的大小增加到92GB.

有没有减小大小或删除文件without restarting the server的方法?

谢谢

推荐答案

创建ibtmp1后,如果不重新启动MySQL服务,则无法使用任何方法缩小该ibtmp1.

有两种处理方法:

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

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

其中最大5G表示该文件大小限制为5GB.

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

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

文档数量:https://dev.mysql.com/doc/refman/5.7/en/innodb-temporary-tablespace.html

Database相关问答推荐

TYPO3 OOPS,出现错误!编码:202402180809040864ba5c

Kusto:从一个表中复制行并追加到同一集群中的另一个表中

[mongodb],如何通过聚合获得具有许多不同字段的文档的最大值?子字段名称相同

用于在 Excel 中的两个列表之间进行筛选的辅助列

从 GCP 机密管理器中读取 .DER 值并将其保存到 .DER 文件

如何在 N1QL 查询(Couchbase 查询)中使用 LENGTH() 字符串函数

管理数据库中的产品计数

使用 Laravel 5.2 从存储在 Y-m-d 数据库中的日期计算年龄

在 postgresql 中将列从字符串更改为字符串数组

什么是 Scalar标量查询?

如何将视图的所有权限授予任意用户

将实体框架中的字符串列映射到枚举

数据库中的整数与字符串

从 Java 创建 MySQL 数据库

我应该使用 NULL 还是空字符串来表示表列中没有数据?

Oracle 的免费桌面客户端?

MongoDB中的数据库数据大小

如何解析来自 Google 快讯的数据?

Django:检测数据库后端

SQLite3 数据库的最大连接数是多少?