Восстановление большой базы данных 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

 

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

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