mysql rds有300万条记录不允许添加新列

5q4ezhmt  于 2021-06-21  发布在  Mysql
关注(0)|答案(2)|浏览(272)

嗨,我有mysql rds数据库服务器,我的一个表有 3 million+ 记录当我尝试添加新列时,它总是失败并给出以下错误
查询 ALTER TABLE user_notifications ADD program_id int(11); 错误 Temporary file write failure .
我的rds db示例是 db.t2.medium

epggiuax

epggiuax1#

ALTER TABLE 是一个表的重新创建,因此在该过程的某个阶段,系统上将存在该表的两个副本。
所以,你需要更多的自由空间 data length 此操作的大小。
你可以查一下 data length 在表信息中。
还有另一种解决方案,您可以使用新的所需模式创建一个新表,并将数据从旧表分块移动到新表。

sqxo8psd

sqxo8psd2#

mysql将在使用alter时重新创建表,因此您需要磁盘上足够的可用空间来创建表的另一个副本。
我怀疑这个表很大,因为它有300万条记录,而您的磁盘没有足够的空间
本文展示了如何确定表使用了多少磁盘空间

相关问题