Импорт большого дампа mysql

Неделю назад полетел к чертям один из хостингов, которым я пользовался. Естественно, мне пришлось тут же восстанавливать работу сайтов, перенося их на другой хостинг. О том, какие при этом возникли проблемы, и как я их решил, читайте в данной записи.

С детства каждому из нас мама говорит: «сынок, делай дампы, без них — не проживёшь». «Мама, ты, как всегда, оказалась права» — подумал я про себя, когда понял, что адекватного дампа у меня нет. Все, что я нашёл — это файловый дамп за 16.09.2012 (полтора месяца возраст) и трехдневный дамп БД. Почему у меня все так плохо с дампами? Тому несколько причин:

  • Ежедневные дампы хранились на том же сервере, где и хостились сайты. Поэтому, когда упал хостинг, я автоматически лишился и дампов.
  • У меня, к сожалению, нет возможности ежедневно выкачивать гигабайты своих сайтов (низкая скорость скачивания).
  • У меня не такой большой HDD, чтобы держать большое количество дампов.

Ладно, что произошло, то произошло. Восстановить файлы — не такая уж и проблема (я потратил на это три дня), а контент — да черт с ним. Не так я много денег потерял из-за этого, а что потерял — будет для меня уроком.

Я, смирившись с неактуальностью дампов, начал восстанавливать сайты. Один, другой, третий… Все шло относительно нормально, хотя процесс восстанавливая был ужасно нудным.

Вот я залил файлы крупного сайта, начал восстанавливать mysql базу данных. Какого же было мое удивление, когда PhpMyAdmin отказался восстанавливать базу размером в 25 Мб: ошибка — превышен размер импортируемой базы данных. Ну, делать нечего: я тут же вбил в гугл запрос Импорт большого дампа mysql и нашёл решение своей проблемы. Мне помог скрипт BigDump, написанный русским разработчиком Алексеем Озеровым.

Использование скрипта не сложное. Все, что вам нужно сделать — это:

  1. указать сервер, название базы данных, логин и пароль;
  2. изменить значение переменной $db_connection_charset, указав одну из доступных кодировок (utf8, latin1, cp1251, koi8r etc.).
  3. указать в переменной $filename полный путь до дамп (допускаются форматы .sql, .gz).
  4. загрузить скрипт на сервер;
  5. загрузить дамп на сервер
  6. запустить скрипт.

У меня была лишь одна проблема с импортированием базы: я забыл указать кодировку. После того, как я это сделал, база тут же залетела на мой сервер.

Категории: Веб-мастеринг