Spec-Zone.ru › MySQL Enterprise Backup 4.1
Глава 14 mysqlbackup

Глава 14 mysqlbackup

Клиент mysqlbackup — это удобный инструмент для всех операций резервного копирования и восстановления. Во время резервного копирования mysqlbackup создаёт резервную копию:

  • Все таблицы и индексы InnoDB, включая:

    • InnoDB, который по умолчанию содержит все таблицы InnoDB.

    • Любые отдельные файлы данных, созданные с настройкой InnoDB. Каждый содержит одну таблицу и её связанные индексы. Каждый файл данных может использовать исходный или новый формат файла.

  • Все таблицы и индексы MyISAM.

  • Таблицы, управляемые другими движками хранения.

  • Другие файлы в каталоге данных MySQL, такие как файлы .frm, которые записывают структуру каждой таблицы.

  • Любые другие файлы в подкаталогах базы данных в каталоге данных сервера.

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

Вот некоторые примеры команд для запуска операции резервного копирования с mysqlbackup:

# Information about data files can be retrieved through the database connection.
# Specify connection options on the command line.
mysqlbackup --user=dba --password --port=3306 \
  --with-timestamp --backup-dir=/export/backups \
  backup

# Or we can include the above options in the configuration file
# under the [mysqlbackup] section, and just specify the configuration file
# and the 'backup' operation.
mysqlbackup --defaults-file=/usr/local/mysql/my.cnf backup

# Or we can specify the configuration file as above, but
# override some of those options on the command line.
mysqlbackup --defaults-file=/usr/local/mysql/my.cnf \
  --compress --user=backupadmin --password --port=18080 \
  backup

Указанные вами --user и --password используются для подключения к серверу MySQL. Этот пользователь MySQL должен иметь определённые привилегии на сервере MySQL, как описано в Разделе 4.1.2, «Предоставление привилегий MySQL администратору резервного копирования».

Опция --with-timestamp помещает резервную копию в подкаталог, созданный в указанном вами каталоге. Название подкаталога резервной копии формируется из даты и времени выполнения резервного копирования.

Значения других параметров командной строки см. в Главе 16, Параметры командной строки mysqlbackup. Информацию о файлах конфигурации см. в Главе 17, Файлы конфигурации и параметры.

Убедитесь, что у пользователя или задания cron, запускающего mysqlbackup, есть права на копирование файлов из каталогов базы данных MySQL в каталог резервной копии.

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

Важно
  • Хотя mysqlbackup резервирует таблицы InnoDB без прерывания использования базы данных, заключительный этап, который копирует файлы, не являющиеся InnoDB (такие как таблицы MyISAM и файлы .frm), временно переводит базу данных в состояние только для чтения, используя оператор FLUSH TABLES WITH READ LOCK. Для лучшей производительности резервного копирования и минимального воздействия на обработку базы данных:

    1. Не запускайте длительные запросы SELECT или другие SQL-запросы во время выполнения резервного копирования.

    2. Держите ваши таблицы MyISAM относительно небольшими и используйте их в основном для чтения или преимущественно для чтения.

    Тогда заблокированная фаза в конце выполнения mysqlbackup будет короткой (может быть несколько секунд) и не будет сильно мешать нормальной работе mysqld. Если перечисленные выше условия не соблюдаются в вашей базе данных, используйте опцию --only-innodb для резервного копирования только таблиц InnoDB или используйте опцию --no-locking для резервного копирования файлов, не являющихся InnoDB. Обратите внимание, что таблицы MyISAM, .frm и другие файлы, скопированные в рамках настройки --no-locking, могут не гарантировать согласованности, если они обновляются в этой заключительной фазе резервного копирования.

  • Для большой базы данных резервное копирование может занять много времени. Всегда проверяйте, что команда mysqlbackup завершилась успешно, убедившись, что mysqlbackup вернула код выхода 0 или наблюдая, что mysqlbackup напечатала текст «“mysqlbackup completed OK!”».

  • mysqlbackup отличается от предыдущего проекта с открытым исходным кодом «MySQL Backup» из дерева исходных кодов MySQL 6.0. Продукт MySQL Enterprise Backup заменяет инициативу MySQL Backup.

  • Планируйте резервное копирование в периоды, когда не выполняются операции DDL, связанные с таблицами. См. Приложение B, Ограничения MySQL Enterprise Backup для ограничений создания резервных копий параллельно с операциями DDL.

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-enterprise-backup-4.1-en/mysqlbackup.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API