Господа, вопрос такой. Удалил часть данных из таблицы, сделал

optimize table. Теперь мускуль считает, что у меня в таблице нет данных, хотя судя по объему файла они там есть. Проверил файлы, .MYD файл имеет объем как и раньше, а вот .MYI файл весит 1 килобайт. Есть ли способ восстановить .MYI или тут прямой путь к восстановлению из бэкапа. Если только из бэкапа, то достаточно восстановить MYI или же лучше все 3 файла?

24 ответов

9 просмотров

Удаление данных не уменьшает размер файла на диске, кстати. Но OPTIMIZE должен это делать. Для innodb происходит полное пересоздание таблицы с освобождением места. Ты точно всё сделал так, как написал? Покажи: ls -lah tablaname* select count(*) from tablename потом ещё раз сделай optimaze и ещё раз покажи вывод этих двух команд. Восстановить, наверное, не получится. Выглядит как магия, никогда с таким не сталкивался. Да и так не должно быть. Более вероятно, что ты оптимейз и удаление в другом порядке запускал.

0) переводись на InnoDB 1) объём файла данных не говорит ни о чём. 2) ничего восстанавливать не надо, если ты не удалял файлы вручную.

Николай-Ласточкин Автор вопроса

Потому и сначала зачистил старые данные, а потом сделал optimize. select count(*) показывает ноль записей. Если спросить все записи, то выдает только 1 строку, самую первую. Таблица MyIsam. На данный момент запустил myisamchk, если не прокатит, то буду из бэкапа раскатываться

не надо бэкап

Николай-Ласточкин Автор вопроса

А что вы предлагаете?

Так а что ты хочешь добиться? Данные ты удалил уже... Таблица пуста. что ещё-то надо?

Николай-Ласточкин Автор вопроса

Так мне данные обратно нужны

Не понял... Зачем ты их удалял тогда?

Николай-Ласточкин Автор вопроса

Не так выразился похоже. Я удалил только часть данных, за 14 год. Данные за 15 год и позже мне по-прежнему нужны

А почему тогда в таблице одна запись?

Николай-Ласточкин Автор вопроса

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

Либо ты что-то удалил не так — больше чем нужно, либо ты как-то физически поломал таблицу вообще (записи об этом должны быть в системном логе MySQL)

Ну, что ты там делал, кроме тебя никто не знает... Можешь прислать запрос, которым ты данные удалял?

Николай-Ласточкин Автор вопроса

delete from squidcache where s_date>'2014-10-23' and s_date<'2015-01-01';

s_date какого типа? DDL Таблицы можешь прислать?

Николай-Ласточкин Автор вопроса

Так если это кэш запросов, то его вообще весь можно удалить, не страшно...

Николай-Ласточкин Автор вопроса

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

Вроде ничего криминального нет...

Николай-Ласточкин Автор вопроса

Ну он по завершении написал мне, что удалено 175 лямов строк, в то время как там 3 лярда строк. То есть, данные все он не удалил, я изначально подумал, что запрос неверный и он все нафиг дропнул

Смотри в лог ...

Николай-Ласточкин Автор вопроса

В логе только вот это. 210817 10:18:01 [Warning] Warning: Optimize table got errno 137 on sams.squidcache, retrying

Ещё что-то должно быть...

Николай-Ласточкин Автор вопроса

А вот нет, начиная с момента запуска сервера это единственная запись

Похожие вопросы

Обсуждают сегодня

Сonst magicTgHTML = (text, entities) => { let processedText = text; let offsetShift = 0; entities.forEach(entity => { const { offset, length, type, url, ...
Андрей
1
Кстати, раз про скачивание файлов разговор зашел) Сделал бота для себя (транскрибирующего и суммаризирующего встречи) но не ожидал что за 2 месяца 10к пользователей набежит😅...
Andrey Obolenskiy
8
коллеги привет. уже второй день бьемся об заклад с одной ошибкой, может вы сталкивались с таки странным поведением? есть тестовый сервер, на который паблишим релизную версию W...
Magzhan
11
Слушайте, а при создании навигации на Tailor рили нельзя определять активный пункт навигации, как в Static Pages?
Pavel Lautsevich
11
Всем привет, подскажите где можно найти фриланс работы?
Вадим
7
Господа, а как такое в миграцию засунуть?
Денис Александрович
12
Привет. Кто-то использует Vault KV как корпоративную хранилку паролей? Какие минусы?)
Alex R
3
Ребят, а как ограничить количество страниц в пагинаторе?
Atid Kitdeveloper.ru
2
Добрый день, в тейлоре насоздавал галерей и хочу на странице вывести только те, что указаны в массиве и самое главное в том же порядке. gallery.whereIn возвращает какой свой ...
Artem Anufrirev
2
Так а кто может спарсить всех участников чата? Идишники
Magic
18
Карта сайта