Перенос большой mysql БД с хостинга на хостинг. Что лучше???

Тема в разделе "Базы данных", создана пользователем RedRabbit, 14 июл 2015.

Статус темы:
Закрыта.
Модераторы: latteo
  1. RedRabbit

    RedRabbit

    Регистр.:
    11 июл 2008
    Сообщения:
    606
    Симпатии:
    250
    Здравствуйте, собираюсь переносить кучу БД ~ 100 шт. размером от ~ 500 мб каждая. Суммарно примерно 60 гб. Таблицы MyIsam

    1. mysqldump (скриптом экспортом и импортом) или
    supexdumper на худой конец (сложить в один файл и лить, он вроде бы разбивает задачи).
    С выгрузкой и последующей загрузкой. Муторно и долго на мой взгляд.

    2. Выгрузка структуры таблиц из старого и заливка в новый. Перенос .MYD, .MYI, .frm файлов.
    Но боюсь беда будет - версия mysql на старом 5.1, а на новом 5.5.42.
    .opt надо переносить???

    Ну и естественно создание самих пользователей, через sql, т.к. для каждой БД свой пользователь и пароль.

    Что лучше использовать и максимально сократить время простоя???
     
  2. ADMiNZ

    ADMiNZ WZZZ Team (Модератор)

    Moderator
    Регистр.:
    8 сен 2006
    Сообщения:
    541
    Симпатии:
    69
    Я бы посоветовал SypexDumper только лимиты поправить в php.ini или .htaccess
     
  3. Jake Foley

    Jake Foley

    Регистр.:
    14 дек 2006
    Сообщения:
    834
    Симпатии:
    365
    mysqldump будет быстрее экспортнуть и импортнуть.

    Если IspManager - то можно все сделать его средствами переносом пользователя
     
  4. Black Hat

    Black Hat Постоялец

    Регистр.:
    15 май 2015
    Сообщения:
    107
    Симпатии:
    69
    Из-за разных версий мускула простой перенос не прокатит.

    Время простоя - это имеется в виду когда таблицы будут лочиться, или вообще все процедура переноса?
    Если второе - то без всякой возни с файлами mysqldump можно бросать да вторую машину. Тут написано как http://www.cyberciti.biz/tips/howto-copy-mysql-database-remote-server.html
    Вот то, что можно использовать
    Код:
    mysqldump -u user -p'password' db-name foo | ssh user@remote.box.com mysql -u user -p'password' db-name foo
    
    Да, у мускулдампа есть опция вообще все слить в дамп
    Код:
    mysqldump --all-databases --routines --events --lock-all-tables
     
    Doctor_Chaos, RedRabbit и latteo нравится это.
  5. ykpon

    ykpon

    Регистр.:
    8 дек 2012
    Сообщения:
    248
    Симпатии:
    143
    Это при условии, что у нас есть доступ к SSH.
    Я предпочитаю использовать SQLyog, так как при импорте данных через phpMyAdmin либо сторонние PHP скрипты может возникнуть проблема, препятствующая загрузке дампа - лимит на POST запрос и размер загружаемых файлов установленный для сайта веб-сервером.
    Конечно, если установлен apache и работает в режиме cgi, можно написать на perl/python/etc ЯП скрипт, делающий это многопоточно, мелкими запросами.
    Либо функциями php выполнять запросы в базу данных. Но если запросов много, можно упереться в месячный лимит запросов к базе данных хостером. :)))

    Если удаленный доступ есть, я советую SQLyog. Либо, как советовали выше, SSH, если таковой присутствует на обоих серверах.
     
  6. RedRabbit

    RedRabbit

    Регистр.:
    11 июл 2008
    Сообщения:
    606
    Симпатии:
    250
    Время простоя - это сколько по времени сайты будут не работать.
    1. Все таки попробовал слить файлово, не прокатило.
    2. SypexDumper - выиграл по скорости, но бекап mysqldump читает с ошибками :( Ему комментарии не понравились.
    3. Написал sh скрипт - жаль прогресс-бара нету, ну и медленней, всех проще оказалось им.

    Кстати про remote buckup так сразу и сразу в голову не пришло.
    Я с начало копирнул по shh, а уже потом импортировал.

    Спасибо всем за помощь.
     
  7. meromax

    meromax Постоялец

    Регистр.:
    19 янв 2013
    Сообщения:
    141
    Симпатии:
    16
    А если взять Navicat и при его помощи сделать прямой трансфер с базы в базу?
    Таким путем не нужно будет скачивать а после заливать. Тут вы делаете прямой обмен с хоста на хост
     
  8. latteo

    latteo Эффективное использование PHP, MySQL

    Moderator
    Регистр.:
    28 фев 2008
    Сообщения:
    1.403
    Симпатии:
    1.185
    Navicat замечательный инструмент и я сам им активно пользуюсь для разработки.
    Он хорошо делает трансфер для небольших таблиц.
    Но вот трансфер больших баз не его конёк - он это делает нереально долго и с вылитами на самых интересных и неожиданных местах...
     
  9. meromax

    meromax Постоялец

    Регистр.:
    19 янв 2013
    Сообщения:
    141
    Симпатии:
    16
    В свое времья когда занимался серверами л2, делал трансферы гиговых баз со своего компа на арендованый.
    Скорость зависила только от канала между мной и сервером...
     
  10. KaiSer77

    KaiSer77 Постоялец

    Регистр.:
    21 июл 2013
    Сообщения:
    79
    Симпатии:
    42
    Лучше пользоваться инструментами типа Xtrabackup, где можно базу бекапить с обновлениями: https://www.percona.com/software/percona-xtrabackup

    Варианты с внешними программами - не есть хорошо, так как любой сбой приведет к остановке всего процесса.

    Ну и правильные скрипты писать ручками для этой миграции.
     
Статус темы:
Закрыта.