Восстановление большой базы данных MySQL

Итак представим следующую картину — вы несколько лет ведете сайт, в нем масса постов и прочего контента. И даже делаете регулярные backupы своего сайта, но вдруг решаете, что вас не устраивает Ваш хостинг. Конечно возникает вопрос — как восстановить базу данных на новом хостинге? Хорошо когда база маленькая, а если на несколько десятком мегабайт и основная масса данных приходится на одну таблицу? Вот тут и появляется проблема. Давайте поговорим как ее решить).

Если Ваш сайт находится на выделенном сервере, то проблема решается довольно просто, так как на своем сервере вы — и царь и бог и администратор. Меняете следующие параметры в конфигурационном файле php.ini — максимально допустимое время выполнения скрипта —

max_execution_time = 32000
max_input_time = 32000
и максимальный размер файла
post_max_size = 2000M
upload_max_filesize = 2000M
ну это конечно перебор баз MySQL 2гб как то не часто встретишь, но чтобы уж насовсем.
И можно поправить размер допустимого размера памяти
memory_limit = 512M
Перегружаете сервер — и вот оно счастье пришло)))
 
        Все это доступно Вам если Вы работаете на выделенном сервере, а как же быть с хостингом — уж очень сомнительно, что по Вашему тикету суппорт хостера будет менять настройки конфигурационного файла php.ini. Но и тут есть свои решения.
       Первый самый простой и лежит на поверхности. Пишете в суппорт тикет с просьбой залить вашу БД. Но это даже не интересно. Если же хочется поковыряться самому — то есть как минимум три интересных метода.
     Первый метод — использование программы SumpexDumper, о ней я уже писал в статье об экспорте БД Принцип работы обратный. Заливаем  SumpexDumper, выставляем права. В папку sxdbackup заливаем нашу бд. Далее выбираем импорт и база льется на хостинг.
импорт большой базы данных MySQL
импорт большой базы данных MySQL

Другим способом можно считать импорт через специальный скрипт bigDump. В данном скрипте прописываем конфигурационные настройки — имя пользователя, базу данных, пароль и заливаем на сервер далее в интерфейсе скрипта выбираем файл с базой данных (backup и файл скрипта должны быть в одной директории) и визуально наблюдаем как файл заливается в базу так скрипт написан также с элементами ajax

bigdump
bigdump

Ну и самый true метод — с использованием командной строки. Для этого нам необходимо, во первых, иметь доступ к серверу по ssh, во-вторых, FTP клиент и, в третьих, клиент ssh putty. Заливаем файл backup на сервер и запускаем putty. забиваем настройки подключения — ip сервера, выбираем протокол ssh и нажимаем open

putty
putty

в консоли вводим имя пользователя и пароль, после чего в консоли набираем

mysql -u "user_name" -p "db_name" < "file.sql" где
user_name - имя пользователя для подключения к БД
db_name - имя БД
file.sql - путь к файлу БД
Параметр "р" отвечает за запрос пароля, который будет произведен в следующем шаге после ввода команды.

Конечно, существуют и другие методы восстановления больших backup как, например, MysqlWorkbench, но использование этого софта для восстановления из бэкапа никак нельзя назвать очень простым).

mysqlworkbench
mysqlworkbench

 

Пролистать наверх