嗨,我有mysql rds数据库服务器,我的一个表有 3 million+ 记录当我尝试添加新列时,它总是失败并给出以下错误查询 ALTER TABLE user_notifications ADD program_id int(11); 错误 Temporary file write failure .我的rds db示例是 db.t2.medium
3 million+
ALTER TABLE user_notifications ADD program_id int(11);
Temporary file write failure
db.t2.medium
epggiuax1#
ALTER TABLE 是一个表的重新创建,因此在该过程的某个阶段,系统上将存在该表的两个副本。所以,你需要更多的自由空间 data length 此操作的大小。你可以查一下 data length 在表信息中。还有另一种解决方案,您可以使用新的所需模式创建一个新表,并将数据从旧表分块移动到新表。
ALTER TABLE
data length
sqxo8psd2#
mysql将在使用alter时重新创建表,因此您需要磁盘上足够的可用空间来创建表的另一个副本。我怀疑这个表很大,因为它有300万条记录,而您的磁盘没有足够的空间本文展示了如何确定表使用了多少磁盘空间
2条答案
按热度按时间epggiuax1#
ALTER TABLE
是一个表的重新创建,因此在该过程的某个阶段,系统上将存在该表的两个副本。所以,你需要更多的自由空间
data length
此操作的大小。你可以查一下
data length
在表信息中。还有另一种解决方案,您可以使用新的所需模式创建一个新表,并将数据从旧表分块移动到新表。
sqxo8psd2#
mysql将在使用alter时重新创建表,因此您需要磁盘上足够的可用空间来创建表的另一个副本。
我怀疑这个表很大,因为它有300万条记录,而您的磁盘没有足够的空间
本文展示了如何确定表使用了多少磁盘空间