Вопрос Есть ли способ получить базу данных MySQL из резервной копии / var?


Я обновился от Ubuntu 12.10 в Ubuntu 13.10, Через некоторое время я обнаружил, что не экспортировал все мои базы данных MySQL. Некоторые из них отсутствуют. У меня все еще есть резервная копия из моего /var/ раздел, но я не могу просто скопировать отсутствующие базы данных (каталоги) из /var/lib/mysql/, это не будет работать. MySQL-daemon не будет перезагружен.

Я не могу заменить весь текущий /var/lib/mysql/ с помощью резервной копии, просто чтобы я мог экспортировать недостающие таблицы и переместить новый каталог обратно и импортировать экспортированные таблицы. Базы данных и таблицы phpMyAdmin, но все содержимое было пустым.

Досадно, что демон не перезапустится после быстрой игры. MySQL превратился * в чувствительную девочку. когда я переношу точную копию моего (нового, нетронутого и пост-обновления) mysql-каталога обратно, он все равно не перезагрузится, и мне придется apt-get install mysql-server-5.5 --reinstall для того, чтобы он работал агиан.

Итак, есть ли способ вернуть базу данных из резервных копий файлов? Они сидят там так удобно, названные так же, как база данных, с файлами, названными точно так же, как и таблицы.

*) Это работало. Обычно я экспортирую свои вещи, так что в прошлый раз я это делал несколько лет назад, но он работал. Теперь MySQL действует как плакси. Новое не всегда лучше.

По крайней мере MongoDB просто ест все файлы, которые вы вставляете /var/lib/mongodb до тех пор, пока это правильно bson,

Хотя журнал ошибок очень многословный, мне это действительно не помогает.

Сто из них:

131120 5:23:48 [ERROR] Не удается найти или открыть таблицу some_database / some_table из   внутренний словарь данных InnoDB, хотя файл .frm для   таблица существует. Возможно, вы удалили и воссоздали данные InnoDB   файлы, но забыли удалить соответствующие файлы .frm   из таблиц InnoDB, или вы перенесли файлы .frm в другую базу данных?   или, таблица содержит индексы, что эта версия движка   не поддерживает.   Видеть http://dev.mysql.com/doc/refman/5.5/en/innodb-troubleshooting.html   как вы можете решить проблему.

И некоторые другие сообщения о InnoDB, которые я не могу воспроизвести, потому что я случайно обновил журнал в моем редакторе при переустановке mysql в n-й раз.

Что это за материал InnoDB? Это похоже на слабого маленького брата-крикби или сестры растущего и универсального MySQL. Они сделали это по умолчанию на сервере 5.5. Наверное, не без оснований, но пока это не сделало меня сэндвичами.


1
2017-11-20 04:59


происхождения




ответы:


InnoDB это механизм хранения, как и MyISAM является.

Старый метод копирования файлов по-прежнему работает с базами данных MyISAM, но InnoDB имеет некоторые функции (например, приверженность ACID и более мелкие блокирующие элементы управления), которые связаны с тем, что они больше не работают.

Этот поток поверх StackOverflow имеет некоторые ответы на как восстановить базу данных InnoDB из файлов.


2
2017-11-20 08:50



Ссылка из этого ответа: percona.com/docs/wiki/innodb-data-recovery-tool:start - Redsandro