Полное руководство: как сделать резервную копию баз данных MySQL в Ubuntu (обновление 2024 г.)

В этой статье блога мы рассмотрим несколько методов резервного копирования баз данных MySQL в Ubuntu. Независимо от того, новичок вы или опытный пользователь, мы предоставим вам простые инструкции и разговорные объяснения. В конце концов, в вашем распоряжении будет целый ряд методов резервного копирования, позволяющих гарантировать, что ваши данные MySQL останутся в целости и сохранности. Давайте погрузимся!

Метод 1: использование mysqldump
Mysqldump — популярный инструмент командной строки для резервного копирования баз данных MySQL. Это позволяет нам экспортировать базы данных в файлы SQL, которые позже можно легко восстановить. Чтобы создать резервную копию всех баз данных MySQL по отдельности с помощью mysqldump, выполните следующие действия:

Шаг 1. Откройте окно терминала.

Шаг 2. Выполните следующую команду, чтобы создать каталог резервной копии:

mkdir ~/mysql-backups

Шаг 3. Используйте следующую команду для резервного копирования каждой базы данных отдельно:

mysql -u <username> -p -e 'show databases' | grep -Ev "Database|mysql|performance_schema|information_schema" | xargs -I {} mysqldump -u <username> -p --databases {} > ~/mysql-backups/{}.sql

Обязательно замените <username>на свое имя пользователя MySQL. Эта команда выводит список всех баз данных, отфильтровывает системные базы данных и запускает mysqldump для каждой базы данных, сохраняя резервные копии в каталоге ~/mysql-backups.

Метод 2: использование MySQL Enterprise Backup
Если вы используете MySQL Enterprise Edition, у вас есть доступ к MySQL Enterprise Backup. Этот мощный инструмент обеспечивает горячее резервное копирование таблиц InnoDB и MyISAM, обеспечивая минимальное время простоя во время процесса резервного копирования. Вот как его использовать:

Шаг 1. Установите MySQL Enterprise Backup (если еще не установлен).

Шаг 2. Откройте окно терминала.

Шаг 3. Выполните следующую команду, чтобы создать резервную копию всех баз данных по отдельности:

mysqlbackup --user=<username> --password=<password> --backup-dir=/path/to/backup/directory --with-timestamp backup-and-apply-log

Замените <username>, <password>и /path/to/backup/directoryсоответствующими значениями. Эта команда создает каталог резервных копий и сохраняет отдельные резервные копии для каждой базы данных.

Метод 3: автоматизация с помощью заданий Cron
Чтобы автоматизировать процесс резервного копирования, вы можете использовать задания cron. Это позволяет планировать резервное копирование через регулярные промежутки времени без ручного вмешательства. Вот как настроить задание cron для разделения резервных копий базы данных:

Шаг 1. Откройте окно терминала.

Шаг 2. Чтобы отредактировать файл crontab, выполните следующую команду:

crontab -e

Шаг 3. Добавьте следующую строку в файл crontab, чтобы запланировать ежедневное резервное копирование в полночь:

0 0 * * * mysqldump -u <username> -p --all-databases > /path/to/backup/file-$(date +\%Y\%m\%d\%H\%M\%S).sql

Замените <username>и /path/to/backup/fileсоответствующими значениями. Это задание cron запускает mysqldump каждый день в полночь, создавая отдельные резервные копии с именами файлов с отметками времени.

Резервное копирование баз данных MySQL в Ubuntu имеет решающее значение для защиты данных. В этой статье мы рассмотрели три метода: использование mysqldump, использование MySQL Enterprise Backup и автоматизацию резервного копирования с помощью заданий cron. Теперь у вас есть несколько вариантов выбора в зависимости от ваших потребностей. Не забывайте регулярно создавать резервные копии баз данных, чтобы обеспечить сохранность ценных данных.