Мне нужно восстановить данные из старого снимка 5.6.x. Немного повозившись, мне удалось восстановить моментальный снимок 5.6.x на экземпляре m3.xlarge (любой тип экземпляра, кроме m3. *, Работать не будет). Затем я успешно обновился с 5.6.x до последней версии 5.7.x.
Следующим шагом был переход с 5.7.x на 8.0.x. Каждый раз, когда я пытался выполнить обновление, RDS заявлял, что это «Обновление», но быстро возвращал состояние «Доступен» и возвращался к 5.7.x без видимых ошибок в консоли.
Как мне обновить его до 8.0.x?
Logs & events
, открыто PrePatchCompatibility.log
.16) Несоответствия схемы в результате удаления или повреждения файла
В следующих таблицах показаны признаки того, что каталог данных таблицы или файл frm был удален / поврежден. Пожалуйста, проверьте журналы сервера, проверьте datadir, чтобы обнаружить проблему и исправить ее перед обновлением some_db - присутствует в таблице INNODB_SYS_TABLES INFORMATION_SCHEMA, но отсутствует в таблице TABLES
some_db.some_table
, но в списке есть только база данных.select * from information_schema.innodb_sys_tables where name like '%#%';
В моем случае была указана одна таблица: some_db/#sql-ib1408
.alter table
заявление прервано. К сожалению, бег drop table `#sql-ib1408`;
не работает. Хотя большинство ответов по этой ссылке переформулируйте проблему, а не предложите решение, один намекает на возможное исправление.drop table `#mysql50##sql-ib1408`;
, заменив имя таблицы своим. В #mysql50#
префикс сообщает MySQL не пытаться кодировать имя таблицы; обычно #
будет закодирован.Обратите внимание, что существование #sql-ib*
Таблица указывает на то, что некоторые из ваших данных могут быть повреждены. Сопоставьте числовой идентификатор в #sql-ib
имя таблицы в TABLE_ID
столбец INNODB_SYS_TABLES
чтобы определить, какая таблица была затронута. Обязательно проверьте свои данные на целостность, прежде чем продолжить.