Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 27725|Ответ: 4

[Источник] Регулярно делайте резервные копии удалённых MySQL баз данных в Linux-средах

[Скопировать ссылку]
Опубликовано 30.09.2021 14:42:47 | | | |
Запланированное резервное копирование базы данных — обязательная задача для каждого разработчика, а обычные резервные данные могут решить проблему случайного удаления некоторых данных, которые можно восстановить до определённого момента и минимизировать потери.

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

Обзор:

Резюме баз данных Mysqldump Import and Exports
https://www.itsvse.com/thread-4353-1-1.html

Используйте MySQL для автоматического планирования резервных копий в окружении Windows
https://www.itsvse.com/thread-7412-1-1.html

[Перепечатка] Регулярное резервное копирование скриптов для сайтов и баз данных на Linux
https://www.itsvse.com/thread-4428-1-1.html

Резервное копирование и экспорт базы данных MySQL
https://www.itsvse.com/thread-4004-1-1.html
Эта статья используетсяCentOS 7Окружение, резервное копирование удалённых баз данных в локальную систему через mysqldump. Если запустить команду mysqldump напрямую, ошибка будет следующей:

-bash: mysqldump: команда не найдена
Здесь рекомендуется открытый сторонний пакет Mydumper — высокопроизводительный многопоточный инструмент резервного копирования и восстановления для MySQL и Drizzle. Быстрее, чем скорость резервного копирования и восстановления через mysqldump.

Адрес на GitHub:Вход по гиперссылке виден.

Команда установки следующая:

Основы среды Linux: разница между установкой el6, el7 и el8 в rpm пакетах
https://www.itsvse.com/thread-10098-1-1.html
Таким образом, уже можно использовать команды 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 файл данных таблицы.

Запланированные резервные копии

Справочные статьи следующие:

CentOS 7 использует crontab для выполнения задач с регулярными интервалами
https://www.itsvse.com/thread-9280-1-1.html
Давайте создадим новый скрипт оболочки под названием :backup_uat.sh, следующим образом:

Разрешение на исполнение:


Добавить задачу

Задание выполняется каждый день в 00:10 утра



Перезагрузить конфигурацию

(Конец)





Предыдущий:Основы среды Linux: разница между установкой el6, el7 и el8 в rpm пакетах
Следующий:Объяснение технологий RAID — сравнение RAID0, RAID1, RAID3, RAID5, RAID6, RAID10
 Хозяин| Опубликовано 30.09.2021 17:03:15 |
Тест восстановления базы данных из резервного файла

-o, --overwrite-tables. Если восстанавливаемая таблица существует, сначала уберите таблицу, используйте этот параметр и сделайте резервную копию структуры таблицы, когда нужно сделать резервную копию


Эта команда,Новые таблицы и данные не удаляются

Опубликовано 02.10.2021 16:58:15 |
Учись усердно и совершенствуйся каждый день
 Хозяин| Опубликовано 19.10.2022 21:07:56 |
[Настоящий бой]. NET/C# реализует резервные копии баз данных MySQL на основе MySqlBackup.NET
https://www.itsvse.com/thread-10375-1-1.html
Опубликовано 15.11.2022 18:19:56 |
Учитесь
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com