
Обновление MySQL до версии 8.2 завершается ошибкой:
2024-01-16T22:04:31.970007Z 4 [System] [MY-013381] [Server] Server upgrade from '80100' to '80200' started.
2024-01-16T22:05:05.196376Z 4 [Warning] [MY-011836] [InnoDB] sdi_delete failed: Record Doesn't exist: tablespace_id: 1 Key: 1 4247748
2024-01-16T22:05:05.349958Z 4 [ERROR] [MY-013178] [Server] Execution of server-side SQL statement '-- Copyright (c) 2018, 2023, [blah blah blah] -- Alters the sys_config table for upgrades -- ALTER TABLE sys_config CHARACTER SET utf8mb4; ' failed with error code = 3958, error message = 'Failed to delete sdi for sys.sys_config in sys/sys_config due to missing record.'.
2024-01-16T22:05:05.352770Z 0 [ERROR] [MY-013380] [Server] Failed to upgrade server.
2024-01-16T22:05:05.352787Z 0 [ERROR] [MY-010119] [Server] Aborting
mysqld_safe
продолжает попытки в непрерывном цикле.
Я видел много подобных вопросов, а также руководство по устранению неполадок в документации MySQL, что для исправления этого я должен вернуться и использовать предыдущую версию MySQL, чтобы привести все в порядок. Однако, когда я пытаюсь запустить старую версию, я получаю:
2024-01-16T22:11:18.042211Z 1 [ERROR] [MY-014061] [InnoDB] Invalid MySQL server downgrade: Cannot downgrade from 80200 to 80035. Downgrade is only permitted between patch releases.
Похоже, что неудачное обновление не полностью вернулось к предыдущему состоянию — часть данных считает, что находится на версии 80200, хотя обновление не было завершено.
Теперь я не могу запустить НИ ОДНУ версию MySQL, чтобы очистить таблицы. Есть ли
- Какую еще утилиту я могу запустить, не требуя запуска mysqld?
- Способ вручную изменить sys_config, чтобы обновление продолжалось? Удалить его, может быть, чтобы MySQL мог его перестроить?