Перенос бд mysql на другой сервер. Перенос базы данных. Быстрый способ экспорта

Наши файлы сайта благополучно закачиваются на хостинг. Не будем терять время и перенесём существующую базу данных (БД) с локалки на сервер.

Для этого заходим в PhpMyAdmin. Кто забыл где это находится, посмотрите .

Видим нашу БД (mebelip) и кликаем по названию.

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

Мы просто нажимаем на вкладку "Экспорт".


Напомню, по умолчанию OpenServer открывается в браузере Хром. Поэтому в левом, нижнем углу видим скачанный файл. Запомните, куда Вы сохранили его, в скором времени он нам понадобится.

Кликаем по нему.


Ради интереса, можете посмотреть, какая "секретная" информация находится в нём. Открывается простым "Блокнотом".


Всё, с локальным сервером закончили. Переходим в админ панель Вашего аккаунта на хостинге.

Здесь нас интересует вкладка "MySQL".


Нажимаем кнопку "Добавить MySQL пользователя". По умолчанию, он уже создан. Но я рекомендую создать нового, конкретно для данного сайта.

В будущем, когда у Вас здесь будет уже не один сайт, это поможет избежать путаницы.


Появилось всплывающее окно, в нём прописываем имя пользователя. Оно состоит из двух частей, первая – host1234567 (цифры конкретно будут Ваши), неизменная часть, а вот во вторую, пишем свою информацию.

У меня, для дальнейшего удобства, это будет "meb". Так я не запутаюсь, и точно буду знать, что это относится к мебельному сайту.

Пароль можно поставить свой.


Видим, появился новый пользователь, но к нему не привязана БД.

Теперь создадим непосредственно саму БД.

Нажимаем на вкладку "База данных MySQL".


Кнопка "Добавить базу данных MySQL".

Во всплывающем окне прописываем название. Для удобства лучше прописать те же данные, что и в имени пользователя.


Появилась БД, прикреплённая к пользователю, которого мы перед этим создали.

Запишите где-нибудь эту информацию, т.е. имя пользователя и БД, и пароль, если Вы его меняли. Всё это понадобится в следующем уроке.

Нажимаем на "phpMyAdmin".


Слева, нажимаем на БД установленную по умолчанию.


Находим нашу, вновь созданную, и так же открываем её.


Находим вверху вкладку "Импорт" – клик.

Многие задумывались, как перенести скрипты с базой данных MySQL на другой хостинг. Так вот, я написал в этой статье, как перенести Вашу базу данных, с помощью SSH/телнет и PHPMyAdmin"а.

Если Вы имеете доступ по телнет или SSH на оба сервера, то последовательность Ваших действий будет следующей:
Заходите по телнет/SSH на исходный сервер. Экспортируете содержание Вашей базы данных следующей командой:

mysqldump -uВашлогин -pВашпароль _mysql ВашабазаДанных > baza.sql

После выполнения этой команды, все содержание Вашей базы данных сохранится в файле baza.sql.

Затем Вам надо закачать полученный файл с Вашей базой данных на сервер получатель. Это можно сделать в том же сеансе телнет/SSH командой ftp, или используя любой предпочтительный для Вас клиент (сначала скачиваете файл baza.sql на свой компьютер, а потом закачиваете его на сервер получатель). После того, как файл Вашей базы данных оказался на сервере получателе, заходите на этот сервер по телнет/SSH. Загрузить Вашу базу данных на сервер получатель Вы можете, выполнив следующую команду:

mysql -uВашлогин -pВашпароль _mysql ВашабазаДанных < baza.sql

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

Описанная выше методика может использоваться в тех случаях, когда Вы имеете доступ к обоим серверам по телнет или SSH и в тех случаях, когда Ваша база данных достаточно большая (несколько десятков тысяч записей). В тех случаях, когда Вы не имеете доступа к серверам (или к одному из них) по телнет или SSH или Вы не умеете работать в командной среде юникс и пользоваться телнет или SSH клиентом, то можно использовать следующую методику:
На сервере источнике заходите в скрипт работы с MySQL базами данных (Как правило, это PHPMyAdmin). Выбираете базу данных, предназначенную для переноса и в ее свойствах указываете "Просмотреть дамп (схему) БД" (Следует заметить, что конкретные названия пункты меню, могут отличаться от упомянутых здесь в связи с тем на разных серверах могут использоваться разные версии программы, и потому, очень желательно, ознакомиться с соответствующей документацией). Отмечаете галочками Нужные Вам пункты: "Только структуру", "Структура и данные", "Только данные" и отмечаете пункт "Послать". Когда Вы нажмете кнопку "Пошел" через какое-то время Вам будет предложено загрузить файл - это и будет содержание Вашей базы данных. Когда файл будет загружен на Ваш компьютер.

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

К настоящему времени используются версии InterBase от 4.x до 6.x, причем в шестой версии база данных может быть создана в диалекте 1 или в диалекте 3. В общем случае переход от младшей версии InterBase к старшей не требует каких-то специальных действий, и базы данных работают нормально, но при этом пользователь не может воспользоваться дополнительными услугами, которые предоставляются старшей версией. В случае же выполнения процедуры переноса базы данных можно будет воспользоваться дополнительными услугами. Что же касается диалектов версии 6.x, то в них некоторые типы данных интерпретируются по-разному. Например, в ранних версиях InterBase и в диалекте 1 версии 6.x определен один тип даты Date, значение которого в начале содержит дату, а затем время. В диалекте 3 версии 6.x определены три типа - Timestamp, который полностью соответствует типу Date, определенному в ранних версиях; тип Date, который содержит значения только дат, и тип Time, который содержит значения времени.

При выполнении процедуры переноса базы данных автоматическая замена типа даты выполняется только в определениях доменов. Тип даты в метаданных заменяется вручную.

Каждая операционная система собственным способом интерпретирует каждый тип данных. При инсталляции сервера InterBase любой версии выполняется его настройка на соответствующую операционную систему и аппаратную среду.

Таким образом, каждая база данных имеет «привязку» к версии сервера InterBase, к операционной системе и аппаратной среде.

Этим и объясняется необходимость выполнения процедуры переноса базы данных.

Из сказанного выше становится ясно, что создание резервной копии базы данных с включением параметра Transportable приводит к включению в файл резервной копии сведений о версии InterBase операционной системы и аппаратной среды, в которых создавалась и эксплуатировалась база данных.

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

Следует иметь в виду, что возможен переход только на следующую по порядку версию InterBase как в возрастающем, так и в убывающем направлениях.

При переносе базы данных на две или три версии выше (или ниже) необходимо процедуру переноса выполнить для каждой промежуточной версии ІМегВазе.

Для смены диалекта (например, с первого на третий) надо либо пересоздать базу данных, либо воспользоваться утилитой у/іх.

Алгоритм процедуры переноса базы данных

а. Создать файл резервной копии базы данных. Файл создается одним из способов, рассмотренных выше. Желательно проверить, корректно ли создался файл резервной копии. Для этого на том же персональном компьютере развернуть в другом каталоге базу данных и проверить ее работоспособность.

б. Создать файл копии зарегистрированных пользователей на сервере InterBase. Следует помнить, что сведения о пользователях хранятся в файле isc4.gdb на сервере InterBase и в самой базе данных. Для копирования файла iscA.gdb можно воспользоваться той же самой утилитой gbak.

Пример 12.7. Копирование файла зарегистрированных пользователей базы данных.

gbak -b -user SYSDBA -password masterkey C:IBServeisc4.gdb C:isc4.gdk

в. Переустановить сервер InterBase или перейти на другой персональный компьютер. После переустановки сервера на персональном компьютере (или переходе на другой персональный компьютер) необходимо файл iscA.gdb восстановить с помощью той же утилиты gbak.

Важно помнить, что при переходе на высшую версию InterBase все клиенты, зарегистрированные в следующей низшей версии InterBase, будут работать нормально (но без дополнительных возможностей), а в более старших - неустойчиво.

Для таких клиентов целесообразно переустановить клиентскую часть InterBase на персональных компьютерах клиентов.

Пример 12.8. Перенос файла зарегистрированных пользователей базы данных.

gbak -с -user SYSDBA -password masterkey C:isc4.gdk C:isc4.gdb

В примерах 12.7 и 12.8 имелось в виду, что выполняется замена версии InterBase на одном компьютере.

г. Восстановить (перенести) базу данных одним из способов, описанных выше.

Предложенный выше алгоритм надежно работает при повышении версии InterBase. Если же надо понизить номер версии InterBase , то для выполнения этой операции необходимо иметь два персональных компьютера: первый - с работающей базой данных на старшей версии InterBase, второй - с установленным сервером InterBase низшей версии. Запускаем процедуру создания резервной копии базы данных (п. «а» алгоритма) со второго компьютера. При этом будет создан файл резервной копии в низшей версии. Но возможны следующие варианты:

  • в старшей версии InterBase при создании и эксплуатации базы данных не использовались механизмы, которые отсутствуют в младшей версии InterBase, тогда будет создана полноценная работающая копия базы данных в младшей версии InterBase",
  • в базе данных использовались оригинальные механизмы старшей версии InterBase, тогда будет получена копия базы данных и протокол обнаруженных ошибок. И ошибки по-еле восстановления базы данных в низшей версии InterBase придется исправлять вручную.

Для надежной работы базы данных необходимо обеспечить одинаковую версию и диалект сервера InterBase и клиентской части InterBase у каждого клиента.

Клиенты всех версий InterBase , в отличие от клиентов, работающих с диалектом 3 версии 6.x, не имеют доступа:

К ключевым словам:

CURRENTDATE CURRENTTIME CURRENT_ TIMESTAMP COLUMN

TIMESTAMP

К идентификаторам, заключенным в кавычки.

От автора: недавно в гости родственники заезжали. Так они за пару дней истощили сначала всю продуктовую базу, затем «прокомпостировали» всю нервную, а под конец спалили музыкальную (музыкальный центр). В общем, от греха подальше я решил побыстрее перенести базу данных MySQL. Если вы тоже оказались в такой ситуации, тогда обязательно прочитайте эту статью.

Быстрый способ экспорта

Начнем с обзора phpMyAdmin. Чтобы перенести базу, сначала нужно создать ее дубликат. Для этого в программе имеется специальный функционал. Рассмотрим детально данный процесс:

Можно сначала выбрать в списке слева нужную базу, и затем перейти по вкладке меню «Экспорт». Если использовать данный вариант, то будет произведен потабличный перенос MySQL. Для этого в «Способ экспорта» устанавливаем «Обычный», а в «Таблицы» выбираем элементы экспорта.

Если требуется экспортировать БД целиком (со всеми таблицами), то сразу переходите в «Экспорт». Только здесь мы уже оперируем не таблицами, а базами. В «Способ экспорта» также устанавливаем «Обычный». Затем выделяем нужную БД, и в разделе «Вывод» выбираем вариант «Сохранить вывод в файл».

Следующим шагом задаем формат, в котором будет сохранена копия базы. Выбираем в соответствующем списке значение «SQL». Это будет гарантом того, что копию можно будет использовать на большей части платформ. Но если собираетесь переносить базу на конкретную основу, то здесь можно выбрать соответствующий формат: массив PHP, CSV, PDF и другие.

Ниже в разделах «Параметры формата» и «Параметры сохранения данных» можно настроить более « » параметры для переноса базы MySQL. Но мы не будет подробно останавливаться на их обзоре. Если вы не знакомы с какими-либо из них, то лучше не менять (без необходимости) установленные значения по умолчанию. Здесь можно настроить максимальную совместимость со старыми версиями СУБД и как будут сохранены таблицы. Можно экспортировать только данные или структуры. Мы скопируем таблицы полностью (вариант «структура и данные).

После установки всех параметров для создания копии базы нажимаем внизу «Ок». В результате мы получаем дубликат БД, который легко перенести на другой сервер. По умолчанию созданный файл сохраняется в папке загрузок вашего браузера.

Импортируем

С помощью phpMyAdmin можно не только создавать копии всего сервера, баз и отдельных таблиц. Программа позволяет легко перенести данные MySQL на другой экземпляр СУБД. Выполнение этого процесса во многом схоже с экспортом базы. phpMyAdmin «умеет» присоединять как отдельные таблицы к базе, так и сразу несколько БД к серверу. Для присоединения таблиц слева в списке выберите нужную базу, и затем переходите по вкладке «Импорт».

Чтобы присоединить к серверу базу (или несколько баз), сразу переходите по указанной вкладке. Затем в разделе «Импортируемый файл» отмечаем пункт «Обзор вашего компьютера», и через проводник указываем месторасположение файла БД.

Здесь нужно указать кодировку, в которой представлены данные в импортируемом источнике. С этим параметром следует быть аккуратнее, иначе вместо строк в таблицах получите настоящие «иероглифы», и для их расшифровки придется нанимать коренного японца или китайца. А с ними в нашей местности – настоящий дефицит .

Чаще всего используется кодировка UTF-8, которая и установлена по умолчанию. Поэтому, даже если не знаете точно, какая используется в переносимой базе MySQL, то стоит попробовать данную кодировку. В любом случае вы всегда сможете удалить импортированную базу, и затем «перезалить» ее с другой кодировкой.

Также спешу огорчить «рьяных» поклонников phpMyAdmin. Данная утилита подходит только для экспорта-импорта небольших баз (до 2 «метров»). Этого значение вполне хватает для частичного (поэтапного) переноса сервера, что может быть не совсем удобно и затянуть надолго весь процесс.

В разделе «Формат» устанавливаем значение «SQL». Если нужно, то включаем режим совместимости. А также отключаем автоматическое создание значения ключа для столбцов с нулевым значением (зависит от структуры таблиц импортируемого источника). И для окончания импорта жмем «Ок».

Если собираетесь перенести базу данных MySQL из бэкапа, то не забудьте перед началом импорта удалить с сервера «оригинал» источника. Иначе получите сообщение об ошибке, поскольку данная БД уже существует.

Если процесс прошел удачно, то система программы выведет соответствующее сообщение.

Альтернативное ПО

Я обещал по ходу изучения MySQL знакомить вас с различным программным обеспечением для администрирования СУБД. Так вы сможете расширить свой «профессиональный» кругозор, и выбрать ту программу, которая больше всего подходит под ваши потребности и род деятельности.

Сегодня мы протестируем возможности переноса MySQL с помощью мощного многофункционального приложения, разработанного создателями СУБД. Скачать MySQL Workbench можно с официального ресурса компании. Тут же детально описаны несколько сторонних дистрибутивов (и ссылки на них), которые потребуются для администрирования СУБД с помощью данной платформы.

Повторюсь еще раз: рассматриваемое средство обладает мощным функционалом, поэтому мы рассмотрим лишь тот, который предназначен для импорта-экспорта отдельных баз в формате SQL. Для этого запускаем программу, жмем по иконке нужного соединения (если их несколько).

В новом раскрывшемся окне слева в панели «Navigator» выбираем нужную вкладку (для экспорта или импорта). Я импортирую дубликат базы, созданный с помощью phpMyAdmin.

Чтобы осуществить перенос данных MySQL, переходим через пункт «Data Import». В одноименной вкладке в разделе «Import Options» выбираем второй вариант (обозначен на снимке).

Так как у нас никаких схем нет, то внизу нажимаем на «Start Import». В соседней вкладке «Import Progress» отображается состояние процесса переноса указанного файла. Эта опция может пригодиться при импорте больших объемов данных.

После окончания переноса MySQL в списке баз у нас появится db1, дубликат которой мы создали с помощью phpMyAdmin.

Ну, а пока я «прятал» свою БД MySQL, все родственники разъехались. Так как я был занят, а пополнять продуктовую базу холодильника было некому. Вот как любимая СУБД спасла меня от «родственной» напасти. За что ей огромное спасибо .

Здравствуйте, дорогие и уважаемые читатели моего блога! Сегодня мне бы хотелось рассказать вам о том, как перенести базу данных mysql на хостинг.

Обойдемся сегодня без красноречивых и длинных вступлений, перейдем непосредственно к делу.

Какие способы копирования базы данных на хостинг существуют?

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

Поэтому будем отталкиваться от простых и доступных для широких масс вариантов, среди которых:

  1. Экспорт данных с помощью интерфейса phpMyAdmin через панель управления -провайдера.
  2. Копирование базы с помощью сторонних программ.

Какой способ лучше?

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

Второй вариант, хоть и не вызывает сложностей, но я его не советую использовать! Доверять информацию о вашем веб-ресурсе сторонним программам действительно плохая затея.

Пошаговая инструкция создания базы данных на новом хостинге

Начнем с того, что описывать процедуру создания самой базы данных mysql я не буду, так как скорее всего, приняв решение импортировать ее на hosting, вы побеспокоились о ее создании ранее. А значит, готовы приступить к выполнению общего алгоритма создания БД на хостинге, который предполагает:

  1. Активацию личного кабинета на арендуемом хостинге.
  2. Поиск в меню раздела «MySQL», «База данных» или похожего по названию меню.
  3. Непосредственное создание базы данных на хостинге.
    Для этого нужно нажать кнопку «Создать». Прописываем новое название для базы, привязываем к ней пользователя (зачастую хостинг-провайдер автоматически создает пользователя, но иногда эту операцию следует проводить самому. Поэтому, если так получилось, не забудьте активировать наивысший уровень прав доступа данному аккаунту).

Переносим базу данных MуSQL со старого хостинга на компьютер

Сейчас предлагаю перейти к шагу, который опытные юзеры называют дампом базы данных. А конкретнее сохраним текущую базу со старого хостинга к себе на компьютер.

Примечание ! Дамп – это функциональный файл, целью создания которого является упрощение процедуры переноса информации с БД.

Ход действий:

Импортируем данные МуSQL на новый хостинг

  1. Тем же способом, что и в предыдущем разделе заходим в административную панель хостинга.
  2. Выбираем необходимую нам базу данных (ту что мы создали еще в самом начале).
  3. Кликаем вкладку «Импорт».
  4. Жмем «Обзор» и указываем местоположение сохраненного ранее на ваш компьютер файла с хранилищем.
  5. Проверяем аналогичность кодировки с той, которая была применена при сохранении файла (7 пункт предыдущего раздела).
  6. Оставляем неизменными все остальные настройки и завершаем процесс копирования данных на новый хостинг-сервер.

Решение возможных проблем

Убедитесь, что перед началом импорта материалов на новый hosting в файле хранилища нет запросных фраз «CRЕАTE DАTАBАSЕ». Для этого откройте его любой текстовой программой (можно блокнотом или ворд падом) и через Ctrl+F (с помощью поиска по тексту) найдите эти запросы, и в случае обнаружения просто удалите их.

Надеюсь, что все понятно?! Выполняя пошагово предложенные инструкции, у вас не должно возникнуть сложностей.

Делитесь полезными статьями моего блога в социальных сетях с друзьями, подписывайтесь на обновления и до скорых встреч!

С уважением! Абдуллин Руслан



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: