Привет, У меня есть сервер базы данных mysql rds, и одна из моих таблиц имеет 3 million+
когда я пытаюсь добавить новый столбец, который он всегда терпит неудачу, и дает следующую ошибку
Запрос ALTER TABLE user_notifications ADD program_id int(11);
Ошибка Temporary file write failure
ошибка Temporary file write failure
.
Мой экземпляр RDS DB - db.t2.medium
ALTER TABLE
- это воссоздание таблицы, поэтому две копии таблицы будут существовать в системе на каком-то этапе процесса.
Таким образом, для этой операции вам потребуется свободное пространство больше, чем размер data length
.
Вы можете проверить data length
в таблице.
Это альтернативное решение, в котором вы создаете новую таблицу с новой желаемой схемой и перемещаете данные из старой таблицы в новую таблицу в кусках.
MySQL будет повторно создавать таблицу при использовании alter, поэтому вам нужно достаточно свободного места на диске для другой копии таблицы.
Я подозреваю, что таблица большая, поскольку у нее 3 миллиона записей, и на вашем диске недостаточно места
В этой статье показано, как определить, сколько дискового пространства используются таблицами