Дамп базы данных MySQL, как сделать импорт и экспорт бд сайта
Экспорт дампа базы данных
Импорт дампа базы данных
Работа с дампом из командной строки
Экспорт дампа базы данных
Для создания резервной копии зайдите в интерфейс PHPMyAdmin.
- Слева на странице выберите нужную базу данных.
- Перейдите на вкладку Экспорт.
- При необходимости измените настройки экспорта и нажмите кнопку Вперед в нижней части страницы.
Файл с содержимым базы данных будет загружен на ваш компьютер. Для работы с базами большого объема рекомендуем воспользоваться подключением из командной строки.
Импорт дампа базы данных
Мы рекомендуем создать новую базу данных и выполнить в нее импорт дампа.
Для восстановления базы зайдите в интерфейс PHPMyAdmin и выполните следующие действия:
- В левой колонке выберите новую базу данных.
- Откройте вкладку Импорт.
- Нажмите на кнопку Выберите файл и укажите файл дампа, сохраненный на вашем компьютере. Если размер дампа больше 1 ГБ в распакованном виде, то он может быть импортирован только из командной строки.
- Задайте кодировку файла (обычно она совпадает с кодировкой сайта).
- При необходимости измените настройки импорта и нажмите кнопку Вперед, дождитесь окончания импорта.
После того как база данных будет импортирована, измените в файлах конфигурации сайта название старой базы на новую, проверьте работоспособность. Для работы с базами большого объема рекомендуем воспользоваться подключением из командной строки.
Работа с дампом из командной строки
Подключение к хостингу по SSH позволяет работать с базами данных удаленно, без необходимости загрузки дампов на ваш компьютер. Работа с дампами баз данных размером более 1ГБ в распакованном виде возможна только из командной строки.
- Настройка SSH-клиентов (PuTTY, WinSCP).
- SSH-доступ.
Для создания дампа базы данных выполните команду:
mysqldump -y -f -q --default-character-set=binary --create-options --single-transaction --skip-extended-insert --add-drop-table -h dbhost -u dbuser -pdbpassword dbname > dump.sql
где
dbhost — адрес сервера баз данных,
dbuser — имя MySQL-пользователя,
dbname — название базы данных,
dump.sql — название дампа базы данных. Дамп будет создан в текущем каталоге.
Для импорта дампа в базу данных выполните команду:
mysql -h dbhost -u dbuser -pdbpassword dbname < dump.sql
Мы рекомендуем предварительно создать новую базу данных и выполнить в нее импорт дампа. Дамп базы данных должен быть загружен на хостинг (см. статью FTP — загрузка файлов на сервер)
После того как база данных будет импортирована, измените в файлах конфигурации сайта название старой базы на новую, проверьте работоспособность.
Туториал: как работать с MySQL в PHPMyAdmin
Как установить базу данных на сервер и начать с ней работать
В каждом проекте мы обычно храним все данные либо во внутренней памяти браузера, либо в текстовых файлах на компьютере или на сервере. Это хорошо работает в простых проектах, когда нужно запомнить несколько десятков строк или чисел. Но в полноценных проектах, где обрабатываются сотни и тысячи записей, так почти никто не делает — вместо этого программисты используют базы данных.
Сегодня мы сделаем первый шаг на этом пути — установим на сервер базу данных MySQL и убедимся, что она работает.
Что понадобится
Чтобы всё получилось, нам будут нужны:
Виртуальный сервер можно взять любой, где будет хотя бы 1 гигабайт памяти на диске для хранения данных. У нас не будет настолько большой базы данных, но этого размера точно хватит и для базы, и для установки всех нужных программ.
Что такое UNIX и зачем он нужен
Мы возьмём сервер из статьи про облачное хранение данных, но то же самое можно сделать и на самом простом хостинге для статичного сайта.
Необходимый минимум для связи с сервером
Чтобы сервером можно было управлять со своего домашнего компьютера, нам понадобится настроить SSH — программу для безопасной связи между компьютерами по сети. Так как почти все серверы в интернете работают на линуксе без графической оболочки, команды для управления будем вводить в терминале (или командной строке, кому какое название больше нравится).
iTerm2: модный терминал маковода
Перед тем как продолжить, проверяем, что у нас работает доступ к серверу по SSH:
Командой ssh [email protected]
мы велели нашему компьютеру безопасно подключиться к серверу с адресом 82.146.34.72 и получили в ответ приветствие сервера. Это значит, что всё настроено правильно и можно устанавливать базу данных.
Базу данных необязательно устанавливать на сервер — на домашнем компьютере она тоже будет работать. Самый простой способ это сделать — поставить виртуальную машину с Ubuntu и установить базу там. Единственный минус — удалённо поработать с такой базой будет сложно, но для тренировки и изучения SQL-запросов этого хватит.
Проверяем, есть ли база данных на сервере
Некоторые виртуальные серверы уже идут в комплекте с установленной базой данных MySQL, и в этом случае ничего дополнительно устанавливать не придётся. Проверить, если ли MySQL на сервере, можно командой mysql -V
:
Сервер ответил, что не знает этой команды, — это значит, что база MySQL не установлена.
Дальше мы будем использовать команды установщика для Ubuntu, потому что именно эта операционная система стоит на нашем сервере. Если у вас другая версия линукса, замените наши команды установки apt install
на свои.
Устанавливаем базу данных
Установим сразу и серверную, и клиентскую части базы данных MySQL. Серверная отвечает за обработку и хранение данных, а клиентская — за отправку запросов на сервер. Теоретически можно было бы обойтись одной серверной частью, но мы ставим клиентскую, чтобы сразу получить возможность отправлять запросы в базу и видеть результат.
Для установки обеих частей выполним команду apt install mysql-server mysql-client
. Сервер соберёт данные об установке и скажет, что ему понадобится около 250 мегабайт на диске — для установки нужно будет ввести английскую букву «y» и нажать энтер:
Когда установка закончится, снова проверим, знает ли сервер о том, что у него теперь есть MySQL, командой mysql -V
:
Сервер ответил, что у нас установлена версия 8.0.29, — это значит, что мы всё сделали правильно.
Создаём новую базу
Последнее, что нам осталось сделать, — создать новую базу данных.
Все команды в MySQL называются запросами и пишутся внутри её собственной командной строки. Для перехода в неё пишем команду mysql -u root:
У нас поменялся внешний вид приветствия в командной строке: вместо имени пользователя и текущей папки мы видим строку mysql>
— это значит, что мы сейчас общаемся с базой данных и она готова принимать и выполнять команды.Создадим новую базу с названием thecodeDB
командой CREATE DATABASE:
Обратите внимание на точку с запятой в конце команды — без неё база данных не поймёт, что запрос закончился, и будет ждать продолжения:
Убедимся, что база создана, — выполним команду SHOW DATABASES;
Мы используем рабочий сервер для Nextcloud, поэтому на нём уже есть несколько баз данных, но наша база тоже теперь есть в списке — это значит, что MySQL про неё знает и может с ней работать.
Что дальше
Сейчас у нас на сервере есть своя база данных, настроенная и готовая к работе. В следующей статье мы попробуем её в деле — возьмём какой-нибудь наш старый проект и переделаем его под хранение данных в базе.
Текст:
Михаил Полянин
Редактор:
Максим Ильяхов
Художник:
Алексей Сухов
Корректор:
Ирина Михеева
Вёрстка:
Кирилл Климентьев
Соцсети:
Виталий Вебер
Как создать базу данных в MySQL
Если вы хотите создать новую базу данных в MySQL, вы можете либо использовать команду SQL, либо выполнить шаги в IDE, такой как MySQL Workbench.
Из этого руководства вы узнаете, как сделать это двумя способами.
Команда создания базы данных MySQL
Чтобы создать новую базу данных в MySQL, вы можете использовать команду CREATE DATABASE.
Простая версия выглядит следующим образом:
CREATE DATABASE имя_базы_данных;
Полная команда имеет гораздо больше параметров, которые вы можете установить:
СОЗДАТЬ БАЗУ ДАННЫХ [ЕСЛИ НЕ СУЩЕСТВУЕТ] имя_базы_данных [ДЕФОЛТ] { НАБОР СИМВОЛОВ charset_name | COLLATE имя_сопоставления | ШИФРОВАНИЕ {'Y' | 'Н'} }
Что означают эти параметры?
IF NOT EXISTS : Добавьте эти ключевые слова в оператор CREATE DATABASE, и база данных будет создана, если она не существует, и не будет создана, если она уже существует.
Без этих ключевых слов, если вы запустите команду CREATE DATABASE и база данных существует, вы получите сообщение об ошибке:
Код ошибки: 1007. Не удается создать демо-версию базы данных; база данных существует
НАБОР СИМВОЛОВ : Это позволяет указать набор символов для новой базы данных. Набор символов — это набор символов, которые можно использовать в строках в базе данных.
В MySQL 8.0 набор символов по умолчанию — utf8mb4, но здесь вы можете изменить его на другой. Вы также можете указать набор символов на уровне таблицы или столбца.
COLLATE : Это позволяет указать параметры сортировки для базы данных, то есть правила, определяющие, как сравнивать и сортировать символы.
В MySQL 8.0 сопоставление по умолчанию — utf8mb4_0900_ai_ci, но вы также можете изменить его для базы данных, таблицы или столбца.
ШИФРОВАНИЕ : Позволяет указать шифрование базы данных по умолчанию, которое используется всеми таблицами в базе данных. Можно установить Y, чтобы включить его, или N, чтобы отключить его.
Примечание: в MySQL схема аналогична базе данных. Таким образом, вы также можете запустить команду «Создать схему»:
CREATE SCHEMA имя_базы_данных;
Рассмотрим пример создания новой базы данных
Пример — простая команда
Вот простой пример команды «Создать базу данных».
Вы можете запустить это в командной строке или в среде IDE, такой как MySQL Workbench
CREATE DATABASE new_shop;
Это создаст новую базу данных с именем new_shop на вашем сервере MySQL.
Пример — если не существует
Эта команда создаст базу данных, если она не существует.
СОЗДАТЬ БАЗУ ДАННЫХ, ЕСЛИ НЕ СУЩЕСТВУЕТ new_shop;
Если вы запустите это и база данных уже существует, вы получите предупреждение:
1 затронутая строка (строки), 1 предупреждение (я): 1007 Невозможно создать базу данных 'new_shop'; база данных существует
Если вы запустите это и база данных не существует, база данных будет создана.
Пример — набор символов и сопоставление
Вот пример, в котором вы указываете набор символов и сопоставление.
СОЗДАТЬ БАЗУ ДАННЫХ new_site НАБОР СИМВОЛОВ utf8mb4 РАЗБОР utf8mb4_0900_ai_ci;
При выполнении этой команды база данных будет создана.
Пример — доступ запрещен
Вот пример запуска команды «Создать базу данных» и получения ошибки.
Я создал нового пользователя:
СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ user_no_privs, ИДЕНТИФИЦИРОВАННОГО 'mypassword';
После подключения в качестве этого нового пользователя я запускаю эту команду «Создать базу данных»:
CREATE DATABASE new_site_1;
Мы получаем это сообщение об ошибке:
Код ошибки: 1044. Доступ запрещен для пользователя 'user_no_privs'@'%' к базе данных 'new_site_1'
Почему при создании базы данных мы получаем ошибку «Отказано в доступе»?
Эта ошибка возникает из-за того, что у пользователя нет необходимых прав для создания базы данных . Для создания базы данных пользователю необходима привилегия CREATE.
Чтобы предоставить это:
GRANT CREATE ON *.* TO user_no_privs;
Я могу попробовать снова запустить команду Create Database от имени нового пользователя:
CREATE DATABASE new_site_1;
На этот раз он работает успешно.
Чтобы узнать больше о привилегиях MySQL, ознакомьтесь с этим руководством.
Использовать базу данных
После создания базы данных необходимо сделать ее активной, чтобы можно было выполнять к ней запросы.
Для этого можно запустить команду USE.
USE имя_базы_данных;
Например, для использования базы данных new_shop:
USE new_shop;
База данных new_shop теперь будет активной базой данных.
Если вы используете MySQL Workbench, имя базы данных в списке схем будет выделено жирным шрифтом.
Создать базу данных в MySQL Workbench
Вы также можете создать базу данных в MySQL Workbench без написания оператора Create Database.
Для этого:
Шаг 1 : Подключитесь к вашему серверу, используя пользователя с соответствующими правами.
Шаг 2 : Щелкните правой кнопкой мыши на панели «Схемы» слева и выберите «Создать схему».
Схема — это то же самое, что и база данных в MySQL.
Появится новая вкладка для создания новой схемы.
Шаг 3 : Введите имя новой базы данных в поле Имя схемы.
Здесь мы назвали его my_new_db.
Шаг 4 : Нажмите кнопку «Применить» в правом нижнем углу.
Появится окно «Применить сценарий SQL к базе данных», в котором вы можете просмотреть SQL, который будет выполняться.
Это то же самое, что и команда «Создать схему», которую мы видели ранее.
Шаг 5 : Нажмите «Применить» в правом нижнем углу этого окна.
Операторы должны успешно выполняться.
Шаг 6 : Нажмите Закрыть в правом нижнем углу.
После этого вы сможете увидеть новую базу данных (названную my_new_db) на панели схемы слева.
Шаг 7 : Дважды щелкните новую базу данных, чтобы сделать ее активной (что аналогично запуску команды USE).
Теперь вы можете использовать вашу новую базу данных.
Заключение
Команда MySQL Create Database проста в использовании и позволяет создать новую базу данных на сервере MySQL. Вы можете запустить команду в командной строке или в среде IDE, такой как MySQL Workbench.
Краткое руководство: создание сервера — портал Azure — база данных Azure для MySQL
Обратная связь Редактировать
Твиттер LinkedIn Фейсбук Эл. адрес
- Статья
- 5 минут на чтение
ПРИМЕНЯЕТСЯ К: База данных Azure для MySQL — отдельный сервер
Важно
База данных Azure для MySQL — отдельный сервер находится на пути вывода из эксплуатации. Мы настоятельно рекомендуем вам перейти на базу данных Azure для MySQL — гибкий сервер. Дополнительные сведения о переходе на базу данных Azure для MySQL — гибкий сервер см. в статье Что происходит с единым сервером базы данных Azure для MySQL?
База данных Azure для MySQL — это управляемая служба, которую вы используете для запуска, управления и масштабирования высокодоступных баз данных MySQL в облаке. В этом кратком руководстве показано, как использовать портал Azure для создания базы данных Azure для отдельного сервера MySQL. Он также показывает вам, как подключиться к серверу.
Предварительные условия
Требуется подписка Azure. Если у вас нет подписки Azure, создайте бесплатную учетную запись Azure перед началом работы.
Перейдите на портал Azure, чтобы создать базу данных MySQL Single Server. Найдите и выберите База данных Azure для MySQL
Выбрать Добавить .
На странице Выберите базу данных Azure для варианта развертывания MySQL выберите Отдельный сервер :
Введите основные параметры для нового отдельного сервера:
Настройка Рекомендуемое значение Описание Подписка Ваша подписка Выберите нужную подписку Azure. Группа ресурсов моя группа ресурсов Введите новую группу ресурсов или существующую из вашей подписки. Имя сервера мой демосервер Введите уникальное имя. Имя сервера может содержать только буквы нижнего регистра, цифры и символ дефиса (-). Он должен содержать от 3 до 63 символов. Источник данных Нет Выберите Нет , чтобы создать новый сервер с нуля. Выберите Backup только в том случае, если вы восстанавливаете данные из георезервной копии существующего сервера. Местоположение Ваше желаемое местоположение Выберите местоположение из списка. Версия Последняя основная версия Используйте последнюю основную версию. Посмотреть все поддерживаемые версии. Вычисление + хранилище Использовать значения по умолчанию Ценовая категория по умолчанию — General Purpose с 4 виртуальными ядрами и 100 ГБ хранилища . Хранение резервной копии установлено на 7 дней с параметром резервного копирования
Просмотрите страницу с ценами и при необходимости обновите значения по умолчанию.Имя администратора mydemoadmin Введите имя администратора вашего сервера. Вы не можете использовать azure_superuser , admin , администратор , root , guest или public для имени пользователя-администратора. Пароль Пароль Новый пароль для администратора сервера. Пароль должен иметь длину от 8 до 128 символов и содержать комбинацию прописных или строчных букв, цифр и неалфавитно-цифровых символов (!, $, #, % и т. д.). Примечание
Рассмотрите возможность использования ценовой категории «Базовый», если легкие вычисления и операции ввода-вывода подходят для вашей рабочей нагрузки. Обратите внимание, что серверы, созданные в ценовой категории «Базовый», нельзя впоследствии масштабировать до общего назначения или с оптимизацией памяти.
Выберите Проверить + создать для подготовки сервера.
Дождитесь отображения страницы портала Ваше развертывание завершено . Выберите Перейти к ресурсу , чтобы перейти на страницу только что созданного сервера:
Возникли проблемы? Дайте нам знать.
Настройка правила брандмауэра на уровне сервера
По умолчанию новый сервер защищен брандмауэром. Чтобы подключиться, вы должны предоставить доступ к вашему IP, выполнив следующие шаги:
Перейдите к Безопасность подключения с левой панели для вашего ресурса сервера. Если вы не знаете, как найти свой ресурс, см. Как открыть ресурс.
Выберите Добавьте текущий IP-адрес клиента , а затем выберите Сохранить .
Примечание
Во избежание проблем с подключением проверьте, разрешает ли ваша сеть исходящий трафик через порт 3306, который используется базой данных Azure для MySQL.
Вы можете добавить дополнительные IP-адреса или указать диапазон IP-адресов для подключения к серверу с этих IP-адресов. Дополнительные сведения см. в разделе Как управлять правилами брандмауэра на сервере базы данных Azure для MySQL.
Возникли проблемы? Сообщите нам
Подключиться к серверу с помощью mysql.exe
Для подключения к серверу из локальной среды можно использовать либо mysql.exe, либо MySQL Workbench. В этом кратком руководстве мы будем использовать mysql.exe в Azure Cloud Shell для подключения к серверу.
Откройте Azure Cloud Shell на портале, нажав первую кнопку на панели инструментов, как показано на следующем снимке экрана. Запишите имя сервера, имя администратора сервера и подписку для вашего нового сервера в разделе Обзор , как показано на снимке экрана.
Примечание
Если вы открываете Cloud Shell в первый раз, вам будет предложено создать группу ресурсов и учетную запись хранения. Это разовый шаг. Он будет автоматически прикреплен ко всем сеансам.
Выполните следующую команду в терминале Azure Cloud Shell. Замените показанные здесь значения вашим фактическим именем сервера и именем пользователя-администратора. Для базы данных Azure для MySQL необходимо добавить
@\
к имени пользователя-администратора, как показано здесь:mysql --host=mydemoserver.mysql.database.azure.com --user=myadmin@mydemoserver -p
Вот как это выглядит в терминале Cloud Shell:
Запрос облачной оболочки. Успешно. Терминал подключения... Добро пожаловать в облачную оболочку Azure Введите «az», чтобы использовать Azure CLI. Введите «help», чтобы узнать о Cloud Shell user@Azure:~$mysql -h mydemoserver.mysql.database.azure.com -u myadmin@mydemoserver -p Введите пароль: Добро пожаловать в монитор MySQL. Команды заканчиваются на ; или \г. Ваш идентификатор подключения к MySQL — 6479.6 Версия сервера: 5.6.42.0 Исходный дистрибутив Copyright (c) 2000, 2020, Oracle и/или ее дочерние компании. Все права защищены. Oracle является зарегистрированным товарным знаком корпорации Oracle и/или ее филиалы. Другие названия могут быть товарными знаками соответствующих владельцы. Введите «помощь»; или '\h' для помощи. Введите '\c', чтобы очистить текущий оператор ввода. mysql>
В том же терминале Azure Cloud Shell создайте базу данных с именем
guest
:mysql> СОЗДАТЬ БАЗУ ДАННЫХ гость; Запрос выполнен успешно, затронута 1 строка (0,27 сек.)
Переключиться на гостевую базу данных
mysql> USE гость; База данных изменена
Введите
quit
, а затем выберите Введите для выхода из mysql.
Возникли проблемы? Дайте нам знать.
Очистка ресурсов
Теперь вы создали базу данных Azure для сервера MySQL в группе ресурсов.