- ИТ База знаний
- Полезно
- Навигация
- Серверные решения
- Телефония
- Корпоративные сети
- Курс по сетям
- Что такое Active Directory и LDAP?
- URL и URI — в чем различие?
- Погружение в Iptables – теория и настройка
- Gophish: проведение запланированной фишинг атаки в организации
- Антивирусное обеспечение организации
- Обновление SQL Express 2012 до Standard
- No transaction is active: решение проблемы с SQL
- Перенос базы данных MySQL со старого на новый сервер
- Подготовка
- Экспортируем базу данных MySQL в файл дампа
- Как перенести базу данных с одного сервера на другой
- Содержание
- Как сделать дамп базы данных
- Перенос базы данных на новый сервер
- Восстановление дампа базы данных
- Настройка прав доступа к БД
- Перенос базы данных MySQL на другой сервер
- Перенос базы данных MySQL со старого на новый сервер
- ПОДГОТОВКА
- ЭКСПОРТИРУЕМ БАЗУ ДАННЫХ MYSQL В ФАЙЛ ДАМПА
- ПЕРЕНОС ДАМПА MYSQL НА НОВЫЙ СЕРВЕР
- ИМПОРТ ФАЙЛА ДАМПА MYSQL НА НОВЫЙ СЕРВЕР
- ПРОВЕРКА ИМПОРТА
- ПЕРЕНОС БАЗ ДАННЫХ И ПОЛЬЗОВАТЕЛЕЙ MYSQL НА НОВЫЙ СЕРВЕР
- Как быстро перенести базу данных MySQL с помощью приложений
- Быстрый способ экспорта
- Импортируем
- Альтернативное ПО
ИТ База знаний
Курс по Asterisk
Полезно
— Узнать IP — адрес компьютера в интернете
— Онлайн генератор устойчивых паролей
— Онлайн калькулятор подсетей
— Калькулятор инсталляции IP — АТС Asterisk
— Руководство администратора FreePBX на русском языке
— Руководство администратора Cisco UCM/CME на русском языке
— Руководство администратора по Linux/Unix
Навигация
Серверные решения
Телефония
FreePBX и Asterisk
Настройка программных телефонов
Корпоративные сети
Протоколы и стандарты
Популярное и похожее
Курс по сетям
Что такое Active Directory и LDAP?
URL и URI — в чем различие?
Погружение в Iptables – теория и настройка
Gophish: проведение запланированной фишинг атаки в организации
Антивирусное обеспечение организации
Обновление SQL Express 2012 до Standard
No transaction is active: решение проблемы с SQL
Еженедельный дайджест
Перенос базы данных MySQL со старого на новый сервер
Дорогая, мы переезжаем!
3 минуты чтения
Перенос или миграция базы данных MySQL или MariaDB между серверами обычно занимает всего несколько простых шагов. В этой статье мы расскажем про них, и вы сможете легко перенести данные со старого Linux сервера на новый, импортировать и выполнить проверку того что все прошло без ошибок. Поехали!
Обучайся в Merion Academy
Пройди курс по сетевым технологиям
Начать
Подготовка
Первым делом нужно убедиться, что и на старом, и на новом сервере установлена одинаковая версия MySQL с одинаковым дистрибутивом. Для этого в командной строке выполните:
После этого нужно убедиться, что на новом сервере хватает места для файла дампа старой базы и импортированной базы данных (например, используя команду df).
Экспортируем базу данных MySQL в файл дампа
Сначала на старом сервере остановите службу mysql или mariadb, используя команду systemctl:
Затем сделайте дамп ваших баз MySQL с помощью команды mysqldump:
Если база одна, то можно использовать команду:
Перенос дампа MySQL на новый сервер
Теперь используйте команду scp, чтобы перенести файл дампа на новый сервер. После подключения база будет перенесена на новый сервер.
Импорт файла дампа MySQL на новый сервер
После того как файл дампа был перенесен, нужно выполнить следующую команду для импорта всех баз данных в MySQL.
Проверка импорта
После завершения импорта вы можете проверить базы данных на обоих серверах:
Перенос баз данных и пользователей MySQL на новый сервер
Если нужно переместить все свои БД MySQL, пользователей, разрешения и структуру данных старого сервера на новый, то нужно использовать команду rsync. С ее помощью скопируется весь контент из каталога данных mysql или mariadb на новый сервер.
Как только передача завершится, вы можете установить владельца каталога данных mysql или mariadb для пользователя и группы mysql. Для того чтобы убедиться, что что все файлы были переданы можно выполнить просмотр каталога.
Готово! Мы только что очень быстро и просто выполнили миграцию всех баз со старого сервера на новый.
Как перенести базу данных с одного сервера на другой
Перенос базы данных MySQL можно разделить на 4 этапа:
- Создание дампа базы.
- Перенос дампа на новый сервер.
- Создание “пустой” БД на новом сервере и восстановление дампа в неё.
- Настройка прав доступа к БД.
Перед началом работы с MySQL убедитесь, что на сервере запущен демон mysql.
Содержание
Как сделать дамп базы данных
Для создания дампа БД можно воспользоваться следующей командой:
Затем вводим пароль пользователя:
Рассмотрим первую команду. Для создания дампа, мы:
- воспользовались утилитой mysqldump от имени пользователя MySQL root (ключ –u) (не путать с суперпользователем сервера root);
- задали проверку пароля (ключ –p);
- “попросили” создавать дамп даже при возникновении ошибок MySQL (ключ –f);
- указали имя БД (myolddb);
- указали директорию, в которой должен быть сохранён дамп БД (/home/username/);
- указали имя самого дампа (mydbdump.sql).
Перенос базы данных на новый сервер
Следующим шагом является перенос дампа на новый сервер. Для этого можно воспользоваться ftp-клиентом, подключиться к старому серверу, скачать дамп на домашний компьютер, и, подключившись к новому серверу, загрузить дамп на него. Другим способом переноса дампа, для которого не нужно выполнять промежуточное копирование на домашнем компьютере, является использование команды wget на новом сервере, с указанием ссылки на старый сервер (например, http://oldserver.com/mydbdump.sql). Однако для использования данной команды необходимо, чтобы на старом сервере был запущен веб-сервер, а файл дампа помещён в корневую директорию хоста oldserver.com (например, /var/www/html).
После того как дамп перенесён, его нужно восстановить на новом сервере. Для начала необходимо войти в MySQL и создать “пустую” БД.
Восстановление дампа базы данных
Далее восстанавливаем дамп в только что созданную БД.
Настройка прав доступа к БД
Наконец, необходимо настроить права доступа к БД, а именно определить, какой пользователь будет иметь доступ к данной БД. Предположим, Вы устанавливаете WordPress и хотите, чтобы доступ к БД имел пользователь под именем wordpress. В таком случае, нужно войти в MySQL как root при помощи команды:
и выполнить следующие команды:
Данная команда не только настраивает права доступа к БД, но также создаёт пользователя БД (например, wordpress) и устанавливает для него пароль (wordpresspassword).
Вы можете проверить корректность создания пользователя:
При успешной настройке прав доступа Вы увидите следующий текст:
Перенос базы данных MySQL на другой сервер
Какие способы бывают?
1 – при помощи интерфейса phpMyAdmin.
2 – при помощи панели управления хостинг-провайдера.
3 – при помощи сторонней программы.
Какой способ лучше?
Мы рекомендуем первый, т.к. его схема проста, и используется большинством вебмастеров. Третий способ мы не рекомендуем использовать! Никогда не доверяйте содержимое своего сайта сторонним программам, к тому же от непонятных разработчиков. Еще можно использовать второй способ, но его алгоритм очень разнится, и зависит от панели управления хостера. Поэтому, мы детально рассмотрим первый вариант, и расскажем как грамотно перенести базы данных MySQL, без потери и повреждения данных.
Создаем базу данных на новом хостинге
Если Вы хотите перенести базу данных MySQL, значит у Вас уже есть БД, и Вы умете ее создавать. В любом случае этот процесс разный для каждого из хостинг-провайдеров, но сводится к одному общему алгоритму:
1 – Ищем раздел “MySQL”, “Базы данных” или что-то похожее.
2 – В нем нажимаем “Создать”.
3 – Вписываем название базы данных, прикрепляем к ней пользователя (обычно пользователь БД уже создан, если нет, то создайте его и установите самые большие права) и вводим пароль для БД.
4 – База данных создана, но она пока что пустая.
Экспортируем БД со старого хостинга
Сейчас мы воспользуемся тем, что называют дамп базы данных. Т.е. сохраним текущую БД с сервера, к себе на компьютер. Для этого нам понадобится интерфейс phpMyAdmin, который нужно отыскать в личном кабинете хостинг-провайдера, у которого находится Ваш текущий сайт. Опять же единого алгоритма нет, поэтому приводим общую схему:
1 – Найдите ссылку на phpMyAdmin в разделе “MySQL” или “Базы данных”.
2 – Слева в углу выберите свою базу данных (ту, которую вы собираетесь экспортировать на компьютер, чтобы потом перенести на другой хостинг).
3 – Жмем вкладку “Экспорт”.
Дальше все будет зависеть от версии phpMyAdmin, но в любом случае Вам нужно сделать следующее:
4 – Возможно Вас попросят выбрать способ экспорта “Обычный” (много настроек) или “Быстрый” (мало настроек). Не имеет значения какой выбирать, главное изменить только те настройки, которые мы описываем ниже.
5 – Нужно выбрать все таблицы, нажав на кнопку “Выделить все”.
6 – Отметить галочкой “Сохранить как файл”, “Сохранить вывод в файл” или что-то подобное.
7 – На всякий случай, запоминаем кодировку, но не трогаем ее.
8 – Жмем “Ок” и сохраняем файл с БД себе на компьютер. Обычно сохраняемый файл имеет расширение .sql.
Импорт БД на сервер нового хостера
1 – Таким же образом ищем phpMyAdmin на новом хостинге.
2 – В нем выбираем нужную базу данных (мы ее создавали в начале статьи, и она осталась пустой).
3 – Жмем на вкладку “Импорт”.
4 – Нажимаем “Обзор” и выбираем сохраненную на компьютере базу данных.
5 – Проверьте, чтобы кодировка совпадала с той, в которой Вы сохраняли БД.
6 – Больше ничего не меняете, жмете “Ок” и Ваша база данных импортируется на новый хостинг.
Какие бывают проблемы?
1 – При импорте БД в ней не должно быть запросов типа «CREATE DATABASE, /*!40101 SET @OLD». Чтобы проверить их наличие – откройте файл БД на своем компьютере любым текстовым редактором (лучше всего подходит Notepad++) и через Ctrl+А поищите эти запросы. Если найдете, то просто удалите их, и попробуйте снова импортировать БД.
2 – При импорте, база данных, которая находится у нового хостера должна быть пустой, если в ней уже существуют какие-либо таблицы – выделите и удалите их.
Перенос базы данных MySQL со старого на новый сервер
Перенос или миграция базы данных MySQL или MariaDB между серверами обычно занимает всего несколько простых шагов. В этой статье мы расскажем про них, и вы сможете легко перенести данные со старого Linux сервера на новый, импортировать и выполнить проверку того что все прошло без ошибок. Поехали!
ПОДГОТОВКА
Первым делом нужно убедиться, что и на старом, и на новом сервере установлена одинаковая версия MySQL с одинаковым дистрибутивом. Для этого в командной строке выполните:
После этого нужно убедиться, что на новом сервере хватает места для файла дампа старой базы и импортированной базы данных (например, используя команду df ).
ЭКСПОРТИРУЕМ БАЗУ ДАННЫХ MYSQL В ФАЙЛ ДАМПА
Внимание! Не переносите каталог data на новый сервер и не меняйте внутреннюю структуру БД.
Сначала на старом сервере остановите службу mysql или mariadb, используя команду systemctl :
# systemctl stop mariadb
ИЛИ
# systemctl stop mysql
Затем сделайте дамп ваших баз MySQL с помощью команды mysqldump :
# mysqldump -u
[user] -p —all-databases > all_databases.sql
Если база одна, то можно использовать команду:
# mysqldump -u root -p —opt [database name] > database_name.sql
ПЕРЕНОС ДАМПА MYSQL НА НОВЫЙ СЕРВЕР
Теперь используйте команду scp , чтобы перенести файл дампа на новый сервер. После подключения база будет перенесена на новый сервер.
# scp all_databases.sql user@merionet.ru:
/ [Все базы]
# scp database_name.sql user@merionet.ru:
ИМПОРТ ФАЙЛА ДАМПА MYSQL НА НОВЫЙ СЕРВЕР
После того как файл дампа был перенесен, нужно выполнить следующую команду для импорта всех баз данных в MySQL.
ПРОВЕРКА ИМПОРТА
После завершения импорта вы можете проверить базы данных на обоих серверах:
ПЕРЕНОС БАЗ ДАННЫХ И ПОЛЬЗОВАТЕЛЕЙ MYSQL НА НОВЫЙ СЕРВЕР
Если нужно переместить все свои БД MySQL, пользователей, разрешения и структуру данных старого сервера на новый, то нужно использовать команду rsync . С ее помощью скопируется весь контент из каталога данных mysql или mariadb на новый сервер.
# rsync -avz /var/lib/mysql/* user@merionet.ru:/var/lib/mysql/
Как только передача завершится, вы можете установить владельца каталога данных mysql или mariadb для пользователя и группы mysql. Для того чтобы убедиться, что что все файлы были переданы можно выполнить просмотр каталога.
# chown mysql:mysql -R /var/lib/mysql/
# ls -l /var/lib/mysql/
Готово! Мы только что очень быстро и просто выполнили миграцию всех баз со старого сервера на новый.
Как быстро перенести базу данных MySQL с помощью приложений
Дата публикации: 2016-06-22
От автора: недавно в гости родственники заезжали. Так они за пару дней истощили сначала всю продуктовую базу, затем «прокомпостировали» всю нервную, а под конец спалили музыкальную (музыкальный центр). В общем, от греха подальше я решил побыстрее перенести базу данных MySQL. Если вы тоже оказались в такой ситуации, тогда обязательно прочитайте эту статью.
Быстрый способ экспорта
Начнем с обзора phpMyAdmin. Чтобы перенести базу, сначала нужно создать ее дубликат. Для этого в программе имеется специальный функционал. Рассмотрим детально данный процесс:
Можно сначала выбрать в списке слева нужную базу, и затем перейти по вкладке меню «Экспорт». Если использовать данный вариант, то будет произведен потабличный перенос MySQL. Для этого в «Способ экспорта» устанавливаем «Обычный», а в «Таблицы» выбираем элементы экспорта.
Если требуется экспортировать БД целиком (со всеми таблицами), то сразу переходите в «Экспорт». Только здесь мы уже оперируем не таблицами, а базами. В «Способ экспорта» также устанавливаем «Обычный». Затем выделяем нужную БД, и в разделе «Вывод» выбираем вариант «Сохранить вывод в файл».
Бесплатный курс по PHP программированию
Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC
В курсе 39 уроков | 15 часов видео | исходники для каждого урока
Следующим шагом задаем формат, в котором будет сохранена копия базы. Выбираем в соответствующем списке значение «SQL». Это будет гарантом того, что копию можно будет использовать на большей части платформ. Но если собираетесь переносить базу на конкретную основу, то здесь можно выбрать соответствующий формат: массив PHP, CSV, PDF и другие.
Ниже в разделах «Параметры формата» и «Параметры сохранения данных» можно настроить более «профессиональные» параметры для переноса базы MySQL. Но мы не будет подробно останавливаться на их обзоре. Если вы не знакомы с какими-либо из них, то лучше не менять (без необходимости) установленные значения по умолчанию. Здесь можно настроить максимальную совместимость со старыми версиями СУБД и как будут сохранены таблицы. Можно экспортировать только данные или структуры. Мы скопируем таблицы полностью (вариант «структура и данные).
После установки всех параметров для создания копии базы нажимаем внизу «Ок». В результате мы получаем дубликат БД, который легко перенести на другой сервер. По умолчанию созданный файл сохраняется в папке загрузок вашего браузера.
Импортируем
С помощью phpMyAdmin можно не только создавать копии всего сервера, баз и отдельных таблиц. Программа позволяет легко перенести данные MySQL на другой экземпляр СУБД. Выполнение этого процесса во многом схоже с экспортом базы. phpMyAdmin «умеет» присоединять как отдельные таблицы к базе, так и сразу несколько БД к серверу. Для присоединения таблиц слева в списке выберите нужную базу, и затем переходите по вкладке «Импорт».
Чтобы присоединить к серверу базу (или несколько баз), сразу переходите по указанной вкладке. Затем в разделе «Импортируемый файл» отмечаем пункт «Обзор вашего компьютера», и через проводник указываем месторасположение файла БД.
Здесь нужно указать кодировку, в которой представлены данные в импортируемом источнике. С этим параметром следует быть аккуратнее, иначе вместо строк в таблицах получите настоящие «иероглифы», и для их расшифровки придется нанимать коренного японца или китайца. А с ними в нашей местности – настоящий дефицит .
Чаще всего используется кодировка UTF-8, которая и установлена по умолчанию. Поэтому, даже если не знаете точно, какая используется в переносимой базе MySQL, то стоит попробовать данную кодировку. В любом случае вы всегда сможете удалить импортированную базу, и затем «перезалить» ее с другой кодировкой.
Также спешу огорчить «рьяных» поклонников phpMyAdmin. Данная утилита подходит только для экспорта-импорта небольших баз (до 2 «метров»). Этого значение вполне хватает для частичного (поэтапного) переноса сервера, что может быть не совсем удобно и затянуть надолго весь процесс.
Бесплатный курс по PHP программированию
Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC
В курсе 39 уроков | 15 часов видео | исходники для каждого урока
В разделе «Формат» устанавливаем значение «SQL». Если нужно, то включаем режим совместимости. А также отключаем автоматическое создание значения ключа для столбцов с нулевым значением (зависит от структуры таблиц импортируемого источника). И для окончания импорта жмем «Ок».
Если собираетесь перенести базу данных MySQL из бэкапа, то не забудьте перед началом импорта удалить с сервера «оригинал» источника. Иначе получите сообщение об ошибке, поскольку данная БД уже существует.
Если процесс прошел удачно, то система программы выведет соответствующее сообщение.
Альтернативное ПО
Я обещал по ходу изучения MySQL знакомить вас с различным программным обеспечением для администрирования СУБД. Так вы сможете расширить свой «профессиональный» кругозор, и выбрать ту программу, которая больше всего подходит под ваши потребности и род деятельности.
Сегодня мы протестируем возможности переноса MySQL с помощью мощного многофункционального приложения, разработанного создателями СУБД. Скачать MySQL Workbench можно с официального ресурса компании. Тут же детально описаны несколько сторонних дистрибутивов (и ссылки на них), которые потребуются для администрирования СУБД с помощью данной платформы.
Повторюсь еще раз: рассматриваемое средство обладает мощным функционалом, поэтому мы рассмотрим лишь тот, который предназначен для импорта-экспорта отдельных баз в формате SQL. Для этого запускаем программу, жмем по иконке нужного соединения (если их несколько).
В новом раскрывшемся окне слева в панели «Navigator» выбираем нужную вкладку (для экспорта или импорта). Я импортирую дубликат базы, созданный с помощью phpMyAdmin.
Чтобы осуществить перенос данных MySQL, переходим через пункт «Data Import». В одноименной вкладке в разделе «Import Options» выбираем второй вариант (обозначен на снимке).
Так как у нас никаких схем нет, то внизу нажимаем на «Start Import». В соседней вкладке «Import Progress» отображается состояние процесса переноса указанного файла. Эта опция может пригодиться при импорте больших объемов данных.
После окончания переноса MySQL в списке баз у нас появится db1, дубликат которой мы создали с помощью phpMyAdmin.
Ну, а пока я «прятал» свою БД MySQL, все родственники разъехались. Так как я был занят, а пополнять продуктовую базу холодильника было некому. Вот как любимая СУБД спасла меня от «родственной» напасти. За что ей огромное спасибо .
Бесплатный курс по PHP программированию
Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC
В курсе 39 уроков | 15 часов видео | исходники для каждого урока