2

当我的 SpringBoot 应用程序尝试通过 JPA 更新表模式时,mariadb 实例预分配了非常大的文件(几乎 100GB,位于 /rdsdbdata/tmp/#sql_4c44_0.MAI),然后服务器存储立即变满并导致数据库实例下来。日志显示 JPA 仅向该表添加 2 列(数据类型 varchar(255)),表大小小于 5MB,只有 5000 条记录。

maridb服务器是AWS RDS,Mariadb社区版,10.3.8,引擎InnoDB

当我查看 AWS CloudWatch 日志时,第一个错误是

[ERROR] InnoDB: preallocating 103934853120 bytes for file ./mydbname/users.ibd failed with error 28

然后错误

Disk is full writing '/rdsdbdata/log/binlog/mysql-bin-changelog.~rec~' (Errcode: 28 "No space left on device"). Waiting for someone to free space... (Expect up to 60 secs delay for server to continue after freeing disk space)

[ERROR] mysqld: Disk full (/rdsdbdata/tmp/#sql_4c44_0.MAI); waiting for someone to free some space... (errno: 28 "No space left on device")

有没有其他人以前遇到过这种情况或对此有任何想法。

4

0 回答 0