У меня произошел сбой сервера, и он забрал с собой жесткий диск. Я поместил жесткий диск в корпус USB, но основной раздел не смонтировался, потому что раздел был поврежден. Я смог увидеть жесткий диск USB, но не смог его установить. Используя команду «dd», я смог найти суперблок и создать образ старого жесткого диска.
Из этого изображения я смог получить свои веб-файлы, но что мне действительно нужно, так это база данных, поэтому я использовал "e2fsck", и он сбросил все в каталог lost + found, а там много всего.
Я просмотрел весь каталог lost + found и сначала отсортировал все файлы MySQL, затем отсортировал те, которые были отмечены датой и временем, чтобы соответствовать базе данных, которую я пытаюсь получить.
Каждое имя файла - это номер inode исходного файла, и похоже, что они находятся в каком-то последовательном порядке, поэтому таблицы, вероятно, были созданы все сразу, одна за другой. Однако паттерна нет, и почему обрывается последовательность номеров inode?
Файлы с пометкой «MISAM» являются файлами .MYI.
Файлы с пометкой «Определение» - это файлы .FRM. Некоторые показывают версию 9, а некоторые - версию 10 - это имеет значение?
Файлы с пометкой «Данные» являются файлами .MYD. Некоторые показывают «данные», а некоторые - «файл данных DBase 3» - это имеет значение?
Я могу использовать команду «cat» для просмотра содержимого файла, но почти невозможно определить, к какой таблице он принадлежит. Если у меня есть список имен таблиц, есть ли способ узнать, какие файлы каким таблицам принадлежат?
Тем не менее, как я могу определить, принадлежат ли файлы frm, myi и myd одной и той же таблице?
Мысли?
Было бы намного проще восстановить базу данных из резервной копии.
Ой...