Задать вопрос
Chvanikoff
@Chvanikoff

Как перенести все базы mysql из файлов Win в Linux?

Имеется доступ к папке на винте, где крутился MySQL под win7, что-то_там/data/, где куча папок с именами БД, внутри каждой — куча файлов имя_таблицы.frm в самой папке data также присутствуют 3 тяжелых файла ib_logfile0, ib_logfile1, ibdata1 и 1 файл с именем ИМЯ_КОМПЬЮТЕРА.err.

Как теперь перенести все базы оттуда в MySQL под ubuntu?


UPD:

так как простым переносом файлов все не обошлось (mysql помер, реанимация была тяжелой), поднял новый mysql-сервер на win7, скопировал старые файлы, оставив из новых ib_logfile0, ib_logfile1, mysql/; переименовал ИМЯ_СТАРОГО_КОМПЬЮТЕРА.err в ИМЯ_НОВОГО_КОМПЬЮТЕРА.err (не уверен, что это было необходимо — возможно, можно было обойтись без замены этого файла, но описываю здесь как я решил свою проблему), перезапустил сервис mysql и дальше просто через mysqldump сделал дамп всех баз и восстановил его уже в убунте.

Спасибо всем за внимание и оказанную помощь.
  • Вопрос задан
  • 5228 просмотров
Подписаться 3 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 5
FrostMoon
@FrostMoon
Теоретически никаких проблем не возникает у меня. Просто в Линуксе сделайте бэкап папочки data, после чего удалите ее, и на ее место перенесите папку из виндовой базы.
Если все сделавно верно и версии MySQL идентичны, все пройдет без проблем.
p.s. рестарт не забудьте :)
Ответ написан
myIsam можно перенести просто копированием. innoDВ дампом.
Ответ написан
Комментировать
multifinger
@multifinger
Надежнее всего использовать mysqldump и mysql database < dumpfile.sql
В крайнем случае можно использовать phpmyadmin для генерации дампа и mysqldumper для его загрузки (или опять же mysql database < dumpfile.sql), но я сталкивался с тем, что при генерации дампа phpmyadmin'ом и его загрузке в базу mysql ругается на некоторые комменты…
Ответ написан
sevka_fedoroff
@sevka_fedoroff
Если будете переносить просто копированием файлов, учтите, что в Linux имена файлов регистрозависимые. А поскольку таблица — это файл, то в sql-запросе надо использовать имена таблиц в том же регистре, в котором названы файлы таблиц.
Ответ написан
Комментировать
mark_ablov
@mark_ablov
Главное убедиться что конфиги совпадают относительно пары ключевых моментов.
В прицнипе, если что mysql довольно внятно ругнётся.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы