Перенос базы данных MySQL с локального сервера

Введение

Когда разрабатывается сайт, либо приложение с использованием базы данных MySQL, со временем будет необходимость переносить данную БД на другой локальный сервер, либо же на сервер, который доступен в сети Интернет.

Может произойти такая ситуация, когда у Вас просто-напросто слетел локальный сервер, и нет возможности его восстановить, а экспорт (бекап) базы данных в последний раз делали очень давно. Расстраиваться не стоит, так как есть возможность забрать любую базу данных MySQL (InnoDB) с локального сервера и подкинуть ее на новый, где Вы уже можете сделать полноценный бекап данных в SQL-формате, который будет очень просто импортировать на любой другой сервер, где имеется поддержка phpMyAdmin.

Я сам недавно столкнулся с такой ситуацией, когда Denwer просто слетел, и я не мог разобраться, как его восстановить. На нем был сделан один проект, который терять не хотелось. Вот я и забрал файлы самой базы данных и самого проекта, подкинул на новый сервер и все восстановил.

Экспорт/Импорт базы данных при помощи SQL

При рабочем локальном или же другом сервере, с использованием phpMyAdmin, можно очень просто экспортировать и импортировать данные базы данных. Для экспорта данных используется пункт меню Экспорт. Заходим в phpMyAdmin, открываем базу данных, которую мы хотим экспортировать и открываем раздел Экспорт, после чего открывается окно с настройками. Я обычно выбираю отображение всех возможных настроек, чтобы выбрать нужный мне формат экспорта:

Экспорт базы данных в phpMyAdmin
Экспорт базы данных в phpMyAdmin

Выбираем таблицы, которые хотим экспортировать, можем сразу все выбрать, но это станет доступно после того, как Вы выберите способ экспорта: Обычный – отображать все возможные настройки. Далее прокручиваем немного вниз окна и видим другие настройки:

Экспорт базы данных в phpMyAdmin
Экспорт базы данных в phpMyAdmin

Здесь я указываю кодировку файла, компрессию и формат экспорта – SQL. На самом деле, там огромный выбор форматов экспорта данных. Если прокрутить настройки вниз, то можно увидеть еще массу различных параметров, но обычно мне хватает этих. После того, как выставлены все необходимые параметры, нажимаем на кнопку ОК, в итоге, на компьютер должен загрузиться файл с данными, который имеет расширение sql.gz (согласно выставленным нами настройкам). Все, теперь смело можем данный файл импортировать в БД на любом сервере (локальном или который размещен в сети Интернет).

Для того чтобы импортировать данные на новый сервер, необходимо для начала создать новую БД. Имя ее может быть такое же, как и на прошлом сервере. Поэтому, создаем базу и заходим в нее, после чего, в phpMyAdmin открываем пункт меню Импорт, где нам необходимо просто указать путь к файлу, который раннее был экспортирован. Загружаем его и нажимаем на кнопку ОК:

Импорт базы данных в phpMyAdmin
Импорт базы данных в phpMyAdmin

Если импорт успешно завершен, то появиться соответствующее сообщение и в БД появятся наши таблицы.

Как видите, делать импорт и экспорт данных при помощи phpMyAdmin не так уже и сложно.

Ручное копирование базы данных

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

Если Вы используете Denwer, то базы данных будут находиться по следующему пути:

C:\WebServers\usr\local\mysql-5.5\data

Здесь необходимо указать свою букву диска, на котором располагается папка веб-сервера. Если база данных у Вас с типом таблиц MySQL, то достаточно скопировать папку с названием базы по тому же пути, только на новый сервер. Данная база будет выглядеть примерно следующим образом:

База данных MySQL на сервере
База данных MySQL на сервере

Если же база данных с типом таблиц InnoDB, то здесь необходимо копировать также файл ibdata1, который находится в корне папки:

C:\WebServers\usr\local\mysql-5.5\data

Сама же база с типом таблицы InnoDB будет выглядеть примерно следующим образом:

InnoDB на сервере
InnoDB на сервере

Поэтому, необходимо скопировать файл ibdata1 и папку с нужной таблицей, после чего вставить по аналогичному пути, только на новом сервере. Если же на новом сервере уже имеются базы с таблицами типа InnoDB, то при замене файла ibdata1 они станут пустыми.

В данном случае делается копия файла ibdata1 с нового сервера, заменяется старым, затем при помощи функции phpMyAdmin экспорта данных, сохраняем нужную БД в файл, возвращаем все в первоначальный вид и уже на новом сервере импортируем базу из файла SQL.

Заключение

Если возникли проблемы с локальным сервером, и нет возможности при помощи стандартных средств забрать данные из базы данных, то расстраиваться еще рано. Как видите, есть способ, при помощи которого можно скопировать данные из БД.

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

Также данный способ Вам подойдет, если хотите перейти на другую версию MySQL. Для этого также придется экспортировать/импортировать данные (либо же перемещать базы ручным копированием).

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Была ли эта статья полезна?

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

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