optimize table. Теперь мускуль считает, что у меня в таблице нет данных, хотя судя по объему файла они там есть. Проверил файлы, .MYD файл имеет объем как и раньше, а вот .MYI файл весит 1 килобайт. Есть ли способ восстановить .MYI или тут прямой путь к восстановлению из бэкапа. Если только из бэкапа, то достаточно восстановить MYI или же лучше все 3 файла?
Удаление данных не уменьшает размер файла на диске, кстати. Но 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
Ещё что-то должно быть...
А вот нет, начиная с момента запуска сервера это единственная запись
Обсуждают сегодня