|
|
Опубликовано 30.09.2021 14:42:47
|
|
|
|

Запланированное резервное копирование базы данных — обязательная задача для каждого разработчика, а обычные резервные данные могут решить проблему случайного удаления некоторых данных, которые можно восстановить до определённого момента и минимизировать потери.
MySQL предоставляет удобный инструмент для экспорта данных базы данных и файлов из командной строки mysqldump, которая может экспортировать базы данных через командную строку.
Обзор:
Эта статья используетсяCentOS 7Окружение, резервное копирование удалённых баз данных в локальную систему через mysqldump. Если запустить команду mysqldump напрямую, ошибка будет следующей:
-bash: mysqldump: команда не найдена Здесь рекомендуется открытый сторонний пакет Mydumper — высокопроизводительный многопоточный инструмент резервного копирования и восстановления для MySQL и Drizzle. Быстрее, чем скорость резервного копирования и восстановления через mysqldump.
Адрес на GitHub:Вход по гиперссылке виден.
Команда установки следующая:
Таким образом, уже можно использовать команды mydumper и myloader, mydumper отвечает за экспорт, а myloader — за импорт, как показано на рисунке ниже:
mydumperОбъяснение параметров
-B, --база данных База данных, которую нужно резервировать, если не указано, сделать резервную копию всех библиотек -T, --tables-list Таблицы, которые требуют резервного копирования, разделяются запятыми -o, --outputdir для резервного копирования каталога, в который выводится файл -s, --operator-size Количество байт вставного оператора, порождённого ---operator-size, по умолчанию составляет 1000000 -r, --строки При делении таблицы на строки укажите количество блоковых строк; указание этой опции отключит --chunk-filesize -F, --chunk-size. При разделении таблицы по размеру, указанный размер блока в МБ -c, --компресси, компрессия, сжать выходной файл -e, --build-empty-files, если данные таблицы пусты, или он создаёт пустой файл (по умолчанию нет данных, только файл структуры таблицы) -x, --regex совпадает с регулярным выражением, соответствующим 'db.table' -i, --ignore-engines игнорируют движки хранения и используют толстые разбиения -m, --схемы без схем не делают резервное копирование структур таблиц -k, --no-locks не используют временные общие блокировки только для чтения, и использование этой опции приведёт к несогласованности данных --less-locking сокращает время применения замков к таблицам InnoDB (механика этого паттерна подробно объяснена ниже) -l, --long-query-guard Установите время тайм-аута для длинных запросов, блокирующих резервные копии, в секундах, а по умолчанию — 60 секунд (mydumper по умолчанию выходит после тайм-аута). --kill-long-queries убивает длинные запросы (без выхода) -b, --binlogs экспорт binlogs -D, --режим, включающий демона, который делает резервное копирование базы данных на определённых интервалах без перерыва -Я, --snapshot-interval dump Snapshot interval time, по умолчанию 60s, должен быть в режиме демона -L, --logfile использует имя log файла (log, сгенерированный mydumper), и по умолчанию использует стандартный вывод --tz-UTC по часовым поясам — это опция, которая используется, но не объясняется --skip-tz-utc Id --use-savepoints Используйте точки сохранения для сокращения времени блокировки, вызванного сбором метаданных, требующим разрешений SUPER --success-on-1146 Не увеличивает количество ошибок и предупреждение вместо критического в случае отсутствия таблицы -h, --host Имя соединения -u, --пользователь делает резервную копию использованного пользователя -, --пароль -P, --порт -S, --socket Файл сокета при использовании сокетной связи -t, --threads По умолчанию количество включённых потоков резервного копирования — 4 -C, --протокол сжимает данные, взаимодействующие с mysql -V, --версия отображает номер версии -v, --многословный шаблон выходной информации, 0 = беззвучный, 1 = ошибки, 2 = предупреждения, 3 = информация, по умолчанию 2 myloaderОбъяснение параметров
-d, --папка для резервного файла -q, --запросы на транзакцию Количество выполненных запросов на один объект по умолчанию составляет 1000 -o, --overwrite-tables. Если восстанавливаемая таблица существует, сначала уберите таблицу, используйте этот параметр и сделайте резервную копию структуры таблицы, когда нужно сделать резервную копию -B, --база данных База, которую нужно восстановить -e, --enable-binlog позволяет бинарным логам восстанавливать данные -Х, --хост -u, --пользователь восстановлен -, --пароль -P, --порт -S, --файл сокета -t, --потоки восстанавливают количество используемых потоков, по умолчанию 4 -C, --протокол сжатия -V, --версия показывает версию -v, --многословный выходной режим, 0 = беззвучный, 1 = ошибки, 2 = предупреждения, 3 = информация, по умолчанию 2 Тестовые резервные копии
Команда экспорта базы данных выглядит следующим образом:
После выполнения mydumper создаёт указанный адрес каталога, который мы передаём через параметры, содержащий метаданные, фиксирующие бинарное имя файла журнала во время резервного копирования и место записи журнала. Каждая таблица имеет две резервные копии files:database.table-schema.sql файл структуры таблицы и database.table.sql файл данных таблицы.
Запланированные резервные копии
Справочные статьи следующие:
Давайте создадим новый скрипт оболочки под названием :backup_uat.sh, следующим образом:
Разрешение на исполнение:
Добавить задачу
Задание выполняется каждый день в 00:10 утра
Перезагрузить конфигурацию
(Конец)
|
Предыдущий:Основы среды Linux: разница между установкой el6, el7 и el8 в rpm пакетахСледующий:Объяснение технологий RAID — сравнение RAID0, RAID1, RAID3, RAID5, RAID6, RAID10
|