2009-07-03 2 views
1

У меня есть резервная копия только на предыдущем сервере, на котором размещено несколько сайтов. У меня был доступ к нескольким резервным копиям .sql для наших баз данных, но были некоторые, которые не были скопированы таким образом. Я нашел файлы .MYD, .frm и .MYI для таблиц в моем db в каталоге var/lib/mysql/db_name.Перемещение сырых файлов данных MYSQL в другой каталог

Я хотел бы знать, есть ли способ получить данные из этих файлов и переместить их в новую существующую установку mysql? Я попытался скопировать файлы из папки db в папку db с тем же именем, но при попытке получить доступ к любой из таблиц я все равно получаю сообщение «Can not find db_name/table_name.frm». Они отображаются в списке таблиц phpmyadmin, при попытке доступа к таблицам возникает ошибка.

Возможно ли это? Если да, то как мне взять эти файлы таблиц и превратить их в пригодные для использования данные?

Прошу прощения, если мой вопрос или пояснение не имеет никакого смысла. Это часть текущего 11-часового проекта восстановления аварийного сервера, который сегодня возник из-за меня, поэтому мой мозг жарится. Я отвечу на любые вопросы.

ответ

1

Вы проверили, что файлы в /var/lib/mysql/db_name/ принадлежат mysql, а не root? Обычно копирование файлов должно «просто работать» (конечно, это имеет и делает для меня). Я предполагаю, что вы используете ту же или очень похожую версию MySQL?

+0

Версия Mysql такая же. Все файлы принадлежат mysql. – Mesidin

+0

Я предполагаю далее, что это тот же системный тип и что все имена файлов одинаковы. Являются ли файлы БД на самом деле доступными для чтения MySQL (т. Е. Разрешения для пользователя являются r/w)? MySQL перезапущен ?. Вы пытались остановить MySQL, скопировать файлы и установить разрешения и т. Д., А затем перезапустить MySQL? Помимо всех этих основ, у меня нет идей. –

1

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

+0

Мне никогда не приходилось включать базу данных mysql в копию, но, возможно, это важно в некоторых случаях. –

+0

Да, но будьте осторожны, прежде чем делать это. Если у вас есть предыдущая база данных на новом сервере, вы можете ее потерять! – jap1968