|
Регулярное резервное копирование баз данных является обязательным для каждого разработчика. Регулярное резервное копирование может использоваться для восстановления данных после их ошибочного удаления, чтобы минимизировать ущерб.
В MySQL предусмотрен удобный инструмент mysqldump для экспорта данных и файлов базы данных в командной строке.
Обзор:
Обзор mysqldump Import Export Database h ttps:// www.itsvse.com/thread-4353-1-1.html
Автоматическое резервное копирование по расписанию с помощью MySQL в среде Windows h ttps:// www.itsvse.com/thread-7412-1-1.html
[Как использовать MySQL для резервного копирования базы данных в среде Windows? h ttps:// www.itsvse.com/thread-4428-1-1.html
Резервное копирование и экспорт баз данных MySQL h ttps:// www.itsvse.com/thread-4004-1-1.html В этой статье мы используем среду CentOS 7 для резервного копирования удаленной базы данных на локальную машину с помощью mysqldump. Если мы выполним команду mysqldump напрямую, она выдаст следующую ошибку:
-bash: mysqldump: command not found Здесь мы рекомендуем использовать сторонний пакет с открытым исходным кодом, Mydumper - это высокопроизводительный многопоточный инструмент резервного копирования и восстановления для MySQL и Drizzle. Он быстрее, чем mysqldump, как для резервного копирования, так и для восстановления.
Адрес GitHub: https: //github.com/maxbube/mydumper.
Команда установки выглядит следующим образом:
Основы среды Linux: установка пакетов rpm el6, el7, el8 разница h ttps:// www.itsvse.com/thread-10098-1-1.html Таким образом, можно использовать обе команды mydumper и myloader. mydumper отвечает за экспорт, а myloader - за импорт, как показано ниже:
Объяснение параметров mydumper
-B, --database База данных для резервного копирования, если вы не укажете ее, то будут созданы резервные копии всех библиотек. -T, ---tables-list Таблицы для резервного копирования, имена разделяются запятыми. -o, --outputdir Каталог для вывода файлов резервного копирования. -s, --statement-size Количество байт в генерируемом операторе вставки, по умолчанию 1000000. -r, --rows Указывает количество строк в чанке при разбиении таблицы по строкам, указание этой опции отключает опцию --chunk-filesize -F, --chunk-filesize Указывает размер чанка в МБ при чанкинге таблицы по размеру. -c, --compress Сжатие выходных файлов -e, --build-empty-files Создает пустой файл, если данные таблицы пусты (по умолчанию при отсутствии данных создается только файл структуры таблицы). -x, --regex - сопоставить 'db.table' с регулярным выражением. -i, --ignore-engines Игнорировать движки хранения, разделять по всем толщинам -m, --no-schemas Не создает резервных копий структур таблиц -k, --no-locks Не использовать временные общие блокировки только для чтения, которые могут привести к несогласованности данных. --less-locking Сокращает время наложения блокировок на таблицы InnoDB (механика этой схемы более подробно описана ниже) --l, --long-query-guard Устанавливает таймаут длинных запросов для блокировки резервного копирования в секундах, по умолчанию 60 секунд (по истечении таймаута mydumper по умолчанию завершит работу) --kill-long-queries Убивать длинные запросы (без выхода). -b, --binlogs Экспортировать бинлоги. -D, --daemon Включить режим демона, режим демона будет создавать резервные копии базы данных через определенные промежутки времени без перерыва. -I, --snapshot-interval Интервал между снимками дампа, по умолчанию 60 с, необходимо находиться в режиме демона. -L, --logfile Имя файла журнала, который будет использоваться (журнал, создаваемый mydumper), по умолчанию - стандартный вывод. --tz-utc используется для всех часовых поясов, объяснять не нужно. --skip-tz-utc То же, что и выше. --use-savepoints Использование точек сохранения для уменьшения времени блокировки при сборе метаданных, требует привилегий SUPER. ---success-on-1146 Не увеличивать счетчик ошибок и ставить Warning вместо Critical в случае, если таблица не существует -h, --host Имя хоста для подключения -u, --user Пользователь, который будет использоваться для резервного копирования. -p, ---password Пароль -P, --port Порт -S, ---socket Файл сокета, используемый для связи через сокет. -t, --threads Количество потоков, открываемых для резервного копирования, по умолчанию - 4. -C, --compress-protocol Сжимает данные для связи с mysql. -V, --version Показать номер версии -v, --verbose Режим вывода сообщений, 0 = молчание, 1 = ошибки, 2 = предупреждения, 3 = информация, по умолчанию 2. Объяснение параметров myloader
-d, --directory Папка для файлов резервных копий. -q, --queries-per-transaction Количество запросов, выполняемых за одну транзакцию, по умолчанию 1000. -o, --overwrite-tables Если таблица, которую нужно восстановить, существует, то сначала сбросьте таблицу, используйте этот параметр для резервного копирования структуры таблицы. -B, --database База данных для восстановления. -e, --enable-binlog Включение двоичного протоколирования восстановленных данных. -h, --host Хост -u, --user Пользователь для восстановления -p, --password Пароль -P, --port Порт -S, --socket сокет файла -t, --threads Восстановление количества используемых потоков, по умолчанию 4. -C, --compress-protocol Протокол сжатия -V, --version Показать версию -v, --verbose Режим вывода, 0 = молчать, 1 = ошибки, 2 = предупреждения, 3 = информация. 3 = информация, по умолчанию 2 Тестовое резервное копирование
Команда экспорта базы данных выглядит следующим образом:
После завершения выполнения mydumper создает указанный адрес каталога, который мы передали в качестве параметра. В каталоге содержится файл метаданных, в котором записано имя файла бинарного журнала в момент времени, когда была сделана резервная копия, и место, куда был записан журнал. Для каждой таблицы существует два файла резервного копирования: файл структуры таблицы database.table-schema.sql и файл данных таблицы database.table.sql.
Резервное копирование по времени
См. статью ниже:
[Практическая работа] CentOS 7 Задачи по расписанию с помощью crontab h ttps:// www.itsvse.com/thread-9280-1-1.html Создадим новый сценарий оболочки с именем: backup_uat.sh, как показано ниже:
Дайте разрешение на выполнение:
Добавить задачу Эта задача выполняется в 00:10 утра каждый день
Перезагрузить конфигурацию
(КОНЕЦ)
|
Предыдущая статья: Основы среды Linux: установка пакетов rpm el6, el7, el8, разницаСледующая статья: Объяснение технологии RAID - сравнение RAID0, RAID1, RAID3, RAID5, RAID6, RAID10
|