MySQL восстановить InnoDB таблицу

130
06 августа 2019, 16:30

Прошу помощи в такой проблеме. Имеем таблицу InnoDB с большим количеством записей - практически 400 миллионов. Размер таблицы порядка 40гигабайт. Выделенный сервер на мощном процессоре и с памятью 64Гб.

Сегодня (черт меня дернул!) решил почистить таблицу. Запрос DELETE .. WHERE за примерно полчаса выполнения удалил порядка 100 000 записей и напрочь "повесил" сервер, пожирая 100% CPU и 96% памяти. Пришлось перезагружать mysql для восстановления работы сайта.

После перезагрузки все работает нормально, однако (совершенно случайно) (кривые руки) нажимаю на "Оптимизировать таблицу" в pma. Через 20 минут тот же результат - 100% CPU и зависание сайта. Перезагружаю снова mysql - и получаю table is marked as crashed and last repair failed.

Что делать? Как восстановить таблицу? Она жизненно необходима для работы сайта. Хотя бы 1/10 часть восстановить последних записей..

Прошу совета, с учетом того что база находится на сервере с действующим сайтом, останавливать работу которого недопустимо.

READ ALSO
Сбилась кодировка в базе данных?

Сбилась кодировка в базе данных?

После переезда сайта на новый хостинг, сбилась кодировка базы данныхИ теперь в столбце с русскими буквами стоят знаки вопроса

145
Как узнать список пользователей в mysql?

Как узнать список пользователей в mysql?

Установил mysqlА имя пользователя установить при установке не предлагалось

126
<picture> на IOS 12

<picture> на IOS 12

Использую разметку с picture-тэгом для главного слайда:

132