Как создать резервную копию и восстановить базы данных MySQL в cPanel

cPanel — платная панель управления веб-хостингом.

Данные, которые существуют в одном месте, почти не существуют вообще. От полного исчезновения их отделяет аппаратный сбой или неправильно набранная команда. Это пугающая мысль, учитывая, что самые ценные активы бизнеса - это данные. Представьте, что вам придется воссоздавать все в вашей базе данных с нуля!

Регулярное резервное копирование баз данных необходимо, поскольку именно там хранятся самые важные данные, будь то данные о клиентах, адреса электронной почты, каталоги продукции, контент или сотни других типов информации, необходимых бизнесу для функционирования. MySQL является наиболее широко используемой базой данных с открытым исходным кодом в мире, и именно поэтому cPanel & WHM позволяет легко создавать резервные копии и восстанавливать MySQL.

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

MySQL - это система управления реляционными базами данных с открытым исходным кодом (RDBMS), используемая для эффективного хранения, организации и извлечения информации. cPanel & WHM использует MySQL, как и многие из наиболее популярных систем управления контентом и приложений электронной коммерции, включая WordPress®, Joomla, Drupal и Magento®.

MySQL хранит данные в таблицах, которые разделены на столбцы предопределенного типа данных. Отдельные записи составляют строки таблицы, и они должны соответствовать типам, определенным столбцами. Например, здесь приведен раздел таблицы posts из базы данных нового сайта WordPress.

Как пользователи получают данные в и из MySQL? В отличие от файловой системы, мы не можем просто отредактировать файл и нажать кнопку сохранения. Мы должны общаться с СУБД на ее собственном языке, который называется SQL. Чтобы создать таблицу, показанную на рисунке, мы отправили следующий SQL-запрос:

SELECT ID,post_date,post_title,post_type,comment_count FROM wp_posts;

Как пользователю cPanel, вам не придется писать SQL, поскольку cPanel позаботится об этом за кулисами. Однако полезно понимать, что это такое, потому что резервные копии MySQL - это просто список операторов SQL.

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

Наша цель - сделать дамп базы данных и загрузить полученный SQL-файл на наш компьютер, где мы можем сохранить его или переместить в более безопасное место. Это можно сделать из командной строки с помощью клиента "mysql", но cPanel MySQL backup and restore предлагает простой в использовании интерфейс.

Любой из этих методов может быть использован для резервного копирования баз данных на вашем сервере. Для этого примера мы будем использовать установку WordPress и базу данных WordPress. Небольшое предупреждение, прежде чем мы продолжим: сайт WordPress состоит из базы данных и файлов, и полная резервная копия WordPress должна включать и то, и другое.

Английский скриншот cPanel Backup: Русский скриншот cPanel Backup:

  1. Сначала выберите пункт Backup (Создать резервную копию) в разделе Files (Файлы) на главной странице. Эта страница представляет собой удобный унифицированный интерфейс для резервного копирования файлов и баз данных, связанных с вашей учетной записью cPanel.
  2. Далее найдите раздел Download a MySQL Database Backup (Загрузить резервную копию базы данных MySQL), где вы увидите список баз данных, которые вы можете загрузить.
  3. Наконец, нажмите на выбранную вами базу данных, чтобы инициировать резервное копирование, и cPanel создаст SQL-файл и сохранит его в место загрузки по умолчанию на вашем компьютере.

Это самый простой способ резервного копирования MySQL в cPanel, но вы также можете использовать встроенный инструмент администрирования phpMyAdmin для настройки параметров экспорта или резервного копирования нескольких баз данных одновременно.

Выберите phpMyAdmin в разделе Databases (Базы данных) на главной странице cPanel.

Слева находится список баз данных, связанных с вашей учетной записью cPanel. Нажмите на базу данных, резервную копию которой вы хотите создать, а затем на вкладку Export (Экспорт) в верхней части страницы. В большинстве случаев метод экспорта Quick (Быстрый) обеспечивает оптимальную конфигурацию экспорта для резервного копирования MySQL, но настройка Custom полезна для исключения таблиц, переименования экспортируемого файла или выполнения более сложной конфигурации. Если вы хотите экспортировать несколько баз данных одновременно, откройте phpMyAdmin и, не выбирая базу данных на боковой панели, перейдите на вкладку Экспорт. Метод быстрого экспорта по умолчанию экспортирует все доступные базы данных. Чтобы настроить, какие базы данных будут экспортированы, выберите метод экспорта Custom и выберите те, которые вы хотите создать резервную копию.

Мы видим, как легко создавать резервные копии баз данных MySQL в cPanel, но что если вы нужно автоматически создавать резервные копии баз данных по расписанию? Забыть об резервировании слишком легко, а планирование гарантирует, что сохранность ваших данных не будет зависеть от вашей памяти.

Для автоматизации резервного копирования MySQL можно использовать планировщик заданий cron и утилиту командной строки mysqldump. Перейдите на страницу cPanel Cron Jobs, которую вы найдете в разделе Advanced (Расширенный) на главной странице.

С помощью выпадающих полей выберите временной интервал, например, раз в неделю. Скриншот на английском языке: Скриншот на русском языке: В поле команды введите следующее, заменяя USERNAME, PASSWORD и DATABASE на соответствующие данные для вашей базы данных:

mysqldump -uUSERNAME -pPASSWORD DATABASE > database_backup.sql

Нажмите кнопку Add New Cron Job (Добавить новое задание Cron), и все готово. Cron будет выполнять резервное копирование через указанный интервал времени, сохраняя SQL-файл в место, указанное в конце команды (часть после символа >).

Чтобы узнать больше об автоматизации задач с помощью заданий cron, прочитайте статью Использование планировщика cron в Linux.

У каждого хостинг провайдера свои относительные и абсолютные пути для файлов и директорий. Самый простой способ узнать абсолютный путь - это подключится по SSH и использовать команду pwd. Напоминаю, что пути которые виды при подключении через FTP - вам для работы с CRON не подойдут.

  • Для хостинг провайдера С-ХОСТ относительный путь начинается с www (без слеша в начале). Замените ПОЛЬЗОВАТЕЛЬ, ПАРОЛЬ и ИМЯ_БД на ваши, например если у вас Wordpress, вы эти данные можете найти в файле wp-config.php. Обратите внимание на отсутствие пробелов после ключей u,p.
    mysqldump -uПОЛЬЗОВАТЕЛЬ -pПАРОЛЬ ИМЯ_БД > www/ИМЯ_БД_backup.sql

    Второй вариант запуска, убирает ошибку mysqldump: Error: 'Access denied; you need (at least one of) the PROCESS privilege(s) for this operation' when trying to dump tablespaces. Если не используете TABLESPACE, то новых прав добавлять НЕ НАДО, просто используйте ключ no-tablespaces!

    mysqldump --no-tablespaces -uПОЛЬЗОВАТЕЛЬ -pПАРОЛЬ ИМЯ_БД > www/ИМЯ_БД_backup.sql

Чтобы восстановить базу данных, откройте интерфейс Backup (Создать резервную копию), который вы найдете в разделе Files (Файлы) на главной странице cPanel.

Английский скриншот cPanel Backup: Русский скриншот cPanel Создать резервную копию:

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

В разделе Restore a MySQL Database Backup (Восстановить резервную копию базы данных MySQL) нажмите Choose File (Выбрать файл) и выберите файл SQL с локальной машины. Нажмите кнопку Upload (Загрузить) и cPanel импортирует файл.

Для более сложного импорта SQL или для репликации, а не замены базы данных, вы можете использовать инструмент phpMyAdmin, описанный в предыдущем разделе. Однако для стандартного восстановления предпочтительнее использовать страницу Backup, поскольку cPanel обрабатывает префиксы баз данных и настраивает SQL-запросы.

Трудно переоценить важность регулярного резервного копирования MySQL. Без последней резервной копии ваш бизнес и его сайты находятся на расстоянии одного аппаратного сбоя от катастрофы. С cPanel&WHM вы и ваши пользователи получаете преимущества простого процесса резервного копирования и восстановления в два клика.

Данная статья тестировалась на тарифном плане PRO-start хостинг провайдера С-ХОСТ.

Читайте также: Обзор ТОП 10 Панели Управления Хостингом VPS, Все что нужно знать о резервировании данных в 2023, Резервное копирование средствами хостинга.

PQ VPS сервера в 28+ странах.