Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / как вытащить данные из innodb? / 3 сообщений из 3, страница 1 из 1
07.08.2015, 13:39:18
    #39025018
DimkinZ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как вытащить данные из innodb?
что-то случилось с базой почты dbmail
поломалась табличка dbmail_messageblks

CREATE TABLE `dbmail_messageblks` (
`messageblk_idnr` BIGINT(21) NOT NULL AUTO_INCREMENT,
`physmessage_id` BIGINT(21) NOT NULL DEFAULT '0',
`messageblk` LONGBLOB NOT NULL,
`blocksize` BIGINT(21) NOT NULL DEFAULT '0',
`is_header` TINYINT(1) NOT NULL DEFAULT '0',
PRIMARY KEY (`messageblk_idnr`),
INDEX `physmessage_id_index` (`physmessage_id`),
INDEX `physmessage_id_is_header_index` (`physmessage_id`, `is_header`)
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB
AUTO_INCREMENT=0
PARTITION BY RANGE (messageblk_idnr)
(PARTITION p0 VALUES LESS THAN (1500000) ENGINE = InnoDB,
PARTITION p1 VALUES LESS THAN (3000000) ENGINE = InnoDB,
PARTITION p3 VALUES LESS THAN (4500000) ENGINE = InnoDB,
PARTITION p4 VALUES LESS THAN (6000000) ENGINE = InnoDB,
PARTITION p5 VALUES LESS THAN (7500000) ENGINE = InnoDB,
PARTITION p8 VALUES LESS THAN (12000000) ENGINE = InnoDB,
PARTITION p9 VALUES LESS THAN (13500000) ENGINE = InnoDB,
PARTITION p10 VALUES LESS THAN (15000000) ENGINE = InnoDB,
PARTITION p11 VALUES LESS THAN (16500000) ENGINE = InnoDB,
PARTITION p12 VALUES LESS THAN (18000000) ENGINE = InnoDB,
PARTITION p13 VALUES LESS THAN (19500000) ENGINE = InnoDB,
PARTITION p14 VALUES LESS THAN (21000000) ENGINE = InnoDB,
PARTITION p15 VALUES LESS THAN (22500000) ENGINE = InnoDB,
PARTITION p16 VALUES LESS THAN (24000000) ENGINE = InnoDB,
PARTITION p17 VALUES LESS THAN (25500000) ENGINE = InnoDB,
PARTITION p18 VALUES LESS THAN (27000000) ENGINE = InnoDB,
PARTITION p19 VALUES LESS THAN (28500000) ENGINE = InnoDB,
PARTITION p20 VALUES LESS THAN (30000000) ENGINE = InnoDB,
PARTITION p21 VALUES LESS THAN (40000000) ENGINE = InnoDB,
PARTITION p22 VALUES LESS THAN (50000000) ENGINE = InnoDB)
;

в логах:
150806 10:31:29 InnoDB: Error: page 341 log sequence number 0 2964567
InnoDB: is in the future! Current system log sequence number 0 8716.
InnoDB: Your database may be corrupt or you may have copied the InnoDB
InnoDB: tablespace but not the InnoDB log files. See
InnoDB: http://dev.mysql.com/doc/refman/5.1/en/forcing-innodb-recovery.html
InnoDB: for more information.
и
150806 10:31:30 InnoDB: Error: trying to open a table, but could not
InnoDB: open the tablespace file './test/dbmail_messageblks#P#p0.ibd'!
InnoDB: Have you moved InnoDB .ibd files around without using the
InnoDB: commands DISCARD TABLESPACE and IMPORT TABLESPACE?
InnoDB: It is also possible that this is a temporary table #sql...,
InnoDB: and MySQL removed the .ibd file for this.
InnoDB: Please refer to
InnoDB: http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting-datadict.html
InnoDB: for how to resolve the issue.

в табличке старые партиции удалялись (освобождалось место)
возможно какие-то партиции были удалены неправильно
остались файлы начиная с 8-го
объём оставшихся данных примерно 1 Тб

innodb_force_recovery = 6 и другие значения не помогают мускулю увидеть эту табличку

пробовал создавать в другой базе такую табличку и подсовывать файлики, не помогает

подскажите в какую сторону копать, каким бубном постучать, нужно вытащить данные из повреждённой таблицы
...
Рейтинг: 0 / 0
07.08.2015, 14:16:57
    #39025046
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как вытащить данные из innodb?
DimkinZ,

у тебя повреждена база данных.
данные уже не вытащить, восстанови из последнего бэкапа.
...
Рейтинг: 0 / 0
08.08.2015, 10:35:09
    #39025457
netwind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как вытащить данные из innodb?
авторпробовал создавать в другой базе такую табличку и подсовывать файлики, не помогает
Уверены, что аккуратно это сделали и приведен первоначальный вариант ошибки, а не то, к чему привели ваши попытки ?
Да тут скорее второй вариант из намека mysql :
авторor you may have copied the InnoDB

Конечно, данные вытащить можно, но трудоемкость весьма высока. Из бекапа намного проще.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / как вытащить данные из innodb? / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]