Лучший способ переноса Mysql базы

Категория: / DEV Блог / PHP (LAMP)
Большая база на 600 Мб, нужно было сконвертить и перенести на другой хост.
Опробованы решения экспорта-импорта phpmyadmin, sypex dumer, heidisql.

1) phpmyadmin - очень долго бэкапил, при импорте умирал.
2) sypex dumer - медлено! но к чести скрипта импорт завершил, хоть и спустя 8 часов :)
3) heidisql - я обрадовался его фишке напрямую указать второе соединение и прога сама
может лить базу с одного хоста в базу на другом хосте. Клево. НО - умирает на первой большой таблице. Намертво.
При этом валит наглухо ядро проца и долго думает, в итоге убивается, так как не подает никакой активности.

4) Да, да и да. То с чего надо было начинать процесс - с консоли.
Родной дампер mysqldump от пятой mysql успешно сделал бэкап базы, которая
потом без одного подводного камня восстановилась на mysql 4 версии.

Итак, на машине-доноре

mysqldump -h <host> -u <user> -p<pass> --add-drop-table <database> | gzip -c > export.sql.gz


Получаем архив базы, тянем его wgetом или еще каким личером на сайт-приемник и запускаем на
нем процесс импорта дампа.

gunzip < export.sql.gz | mysql --default-character-set=UTF8 \
  -h <host> -u <user> -p<pass> \
  -s -f <database>


-s - silent, подавляем лишний вывод
-f - force, продолжаем в случае ошибка (а надо ли?)