База знаний: Root Server VPS
Перенос базы данных с помощью phpMyAdmin
Опубликовано Михаил Кочетков on 28 May 2012 18:14

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

Для того, чтобы дамп базы можно было без проблем импортировать на любом sql-сервере, рекомендуется выполнять не полный дамп всей базы, а дамп на по-табличной основе.
В этом случае в дампе не будет создано директивы CREATE DATABASE, а будут лишь директивы создания и наполнения таблиц, что позволит избежать многих проблем при импорте на SQL-серверах, на которых SQL-пользователю запрещено создавать базы данных при импорте дампа, базы создаются из панели управления хостингом вручную.

Открыв на исходном сервере phpMyAdmin, нужно нажать на имя базы данных в левом меню, после чего - в правом фрейме откроется список таблиц этой базы.
Над этим списком нужно перейти в закладку "Экспорт":

В разделе "Экспорт" нужно выбрать следующие параметры:

  • Отметить все - под списком таблиц, чтобы в дамп базы были включены все таблицы
  • Послать - для того, чтобы полученный дамп был скачан на компьютер
  • Архивировать в gzip - для уменьшения размера получившегося файла. Использовать zip-архивы не рекомендуется, из-за проблем с совместимостей при последующем импорте дампа.

 


 

Импорт дампа

Полученный в результе дамп можно будет без проблем импортировать на любом SQL-сервере, на котором уже создана пустая база.
В случае, если уже имеется дамп базы, созданный не учитывая описанные выше правила, то при импорте может возникнуть такая ошибка:

 CREATE DATABASE failed; error: 'Access denied for user'

В этом случае нужно открыть дамп в текстовом редакторе (Notepad или Блокнот категорически не рекомендуются! Лучше использовать, например, Notepad++ или Akelpad).
Из файла дампа (в начале файла) нужно удалить строки, начинающиеся с:

  • CREATE DATABASE
  • USE

После этого - нужно сохранить дамп, и повторить попытку импорта.