Лучший способ переноса Mysql базы
Категория: / DEV Блог
/ PHP (LAMP)
Большая база на 600 Мб, нужно было сконвертить и перенести на другой хост.
Опробованы решения экспорта-импорта phpmyadmin, sypex dumer, heidisql.
1) phpmyadmin - очень долго бэкапил, при импорте умирал.
2) sypex dumer - медлено! но к чести скрипта импорт завершил, хоть и спустя 8 часов :)
3) heidisql - я обрадовался его фишке напрямую указать второе соединение и прога сама
может лить базу с одного хоста в базу на другом хосте. Клево. НО - умирает на первой большой таблице. Намертво.
При этом валит наглухо ядро проца и долго думает, в итоге убивается, так как не подает никакой активности.
4) Да, да и да. То с чего надо было начинать процесс - с консоли.
Родной дампер mysqldump от пятой mysql успешно сделал бэкап базы, которая
потом без одного подводного камня восстановилась на mysql 4 версии.
Итак, на машине-доноре
Получаем архив базы, тянем его wgetом или еще каким личером на сайт-приемник и запускаем на
нем процесс импорта дампа.
-s - silent, подавляем лишний вывод
-f - force, продолжаем в случае ошибка (а надо ли?)
Опробованы решения экспорта-импорта 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, продолжаем в случае ошибка (а надо ли?)
смотреть менюшку 'data transfer'