Dubrowsky
Хроники одного дупла
Блогово  →  WebDev  → 

Переезжаем на другой сервер, часть 2 (базы данных)

11 Февраля 2012 года

Этот и следующий псто я пишу для себя, чтоб не искать нужные команды по манам (не люблю я это дело). Опытным красноглазикам тут искать нечего. Из меня сисадмин как из говна пуля, так что звиняйте :)

Сначала - как перенести БД.

На серваке было чо-то около полусотни сайтов, и сотня баз данных. Потому что всякие отладночные версии, недоделанные приблуды и прочий мусор. Идеи были такие:

  1. Тупо скопировать физические файлы с базами. В прошлый раз так и делал, в этот раз отказался, потому что помню, что были глюки и пришлось посовокупляться.
  2. Заюзать Sypex Dumper. Это такая утилита с гламурным аяксовым интерфейсом, я ей отдельные базы таскаю. Но для пачки БД она не подошла - нету там инструмента, надо каждую БД отдельно экспортировать, а лень.
  3. Заюзать mysqldump. Не хотелось, ибо надо в консоль пыриться, а я это не люблю и не умею. Но в итоге поборол лень, погуглил и сделал именно так.

Собственно, порядок действий:

  1. Проглядываем список БД, выписываем в блокнот названия тех, которые хочется утащить.
  2. В том же блокноте собираем команду типа такой:

    mysqldump -u root -p --databases  db1 db2 db3   -q --default-character-set=cp1251 | gzip -c > /var/www/site.ru/dump.sql.gz

    Она выгружает базы с именами db1, db2, db3 и т.д., зипует их и кладет в корень какого-то сайта, доступного по хттп. Логинимся в путти под рутом, копипастим (щелк правой кнопкой мыши, если кто не знает - помню,  я сам долго до этого допирал), вводим пароль от БД, ждем, пока оно кончит.
  3. Логинимся к другому серверу, пишем в консоли вот это:



    wget -P /var/www/ http://site.ru/dump.sql.gz

    То есть скачиваем по хттп файл с дампом в директорию /var/www. Я потом узнал, как архив можно сразу отправить на новый сервер по SSH, но это было потом :) Напишу в следующем посте.
  4. А потом пишем в консоли от нового сервера вот такое:

    gunzip < dump.sql.gz

    То есть раззипуем наш зип.
  5. А потом пишем вот так:

    mysql -u root -p -f < dump.sql

    То есть прочитать и схавать дамп. Вводим пароль рута от mysql и ждем пока оно раздуплится. Когда оно это сделает, идем в phpmyadmin проверять, чо получилось :)

Как-то так. Пожалуйста, напишите в комментах, что я идиот и все делается проще. Не забудьте указать, как именно :)

Камменты

Дуброн самый09.08.2012, 16:42#
На память - более полный вариант команды импорта:

mysql -u root -p -f --default-character-set=utf8 DATABASE_NAME < /var/dump.sql


--default-character-set=utf8 - позволяет побороть кракозябры в БД после импорта
DATABASE_NAME в конце - засунуть данные в определенную базу.

Написать коммент: памятка постеру

 

Крутые посты wtf??? →

27.06.2012 · 37 камментов · рейтинг 10.02
28.04.2008 · 44 каммента · рейтинг 8.72
29.08.2007 · 28 камментов · рейтинг 6.76
28.03.2008 · 24 каммента · рейтинг 6.42
30.01.2013 · 13 камментов · рейтинг 6.2

Последне камменты

12.10.2019  6THFV6ZDSU0J 6THFV6ZDSU0J 6THFV6ZDSU0J www.yandex.ruДинамическая отправка формы с файлом в IE (ajax file upload + form.submit): S5yizZQjiS9
26.09.2019  5ZQMBL3RXY98 5ZQMBL3RXY98 5ZQMBL3RXY98 www.yandex.ruтам же: xwWbT1nO
26.09.2019  AT8LJX8SMJPE AT8LJX8SMJPE AT8LJX8SMJPE www.yandex.ruПочему не работает form.submit(): OuQnxIU8HYE
24.09.2019  2SSUSLMI 2SSUSLMI 2SSUSLMI www.yandex.ruтам же: 1DaGyZzh5
04.05.2019  Brian Fargoтам же: Спасибо. Все на поверхности, но фиг вкуришь с лету...

Статсы