|
|
Публикувано в 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, --оператор-размер Броят байтове на вмъкналото операторо, генерирани от ---оператор-размер, е 1000000 по подразбиране -r, --редове При разделяне на таблица на редове, задайте броя на блоковите редове, като тази опция ще изключи --chunk-filesize -F, --chunk-filesize При разделяне на таблица по размер, зададеният размер на блока в MB -c, --компреси, компресирай, компресирай изходния файл -e, --build-empty-files, ако данните от таблицата са празни, или ако се създава празен файл (по подразбиране няма данни, само файлът със структурата на таблицата) -x, --regex е същият като регулярното изразяване, съвпадащо с 'db.table' -аз, --игнорирай двигатели игнорирам storage engine-ите и използват дебело разделяне -m, --без схеми не архивират структури на таблици -k, --без заключвания не използват временни споделени заключвания само за четене, а използването на тази опция ще доведе до несъответствия в данните --less-locking намалява времето за прилагане на заключвания към InnoDB таблици (механиката на този модел е обяснена подробно по-долу) -l, --long-query-guard Задайте времето за тайм-аут за дълги заявки, които блокират резервни копия, в секунди, а по подразбиране е 60 секунди (mydumper ще излезе по подразбиране след изтичането на прекъсването). --kill-long-queries убива дълги заявки (без излизане) -b, --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 Файлът с сокет при използване на комуникация чрез socket -t, --threads По подразбиране броят на активираните резервни нишки е 4 -C, --compress-protocol компресира данни, комуникирани с mysql -V, --версията показва номера на версията -v, --многословен изходен информационен модел, 0 = мълчалив, 1 = грешки, 2 = предупреждения, 3 = информация, по подразбиране 2 myloaderОбяснение на параметрите
-d, --папка за архивния файл -q, --заявки на транзакция Броят на изпълнените заявки на нещо е 1000 по подразбиране -o, --overwrite-tables Ако таблицата, която ще бъде възстановена, съществува, първо я премахнете, използвайте този параметър и архивирайте структурата на таблицата, когато трябва да направите резервно копие -B, --база данни Базата данни, която трябва да бъде възстановена -e, --enable-binlog позволява двоични логове за възстановяване на данни -Х, --хостхост -u, --потребителят възстановен -п, --парола -P, --ляв порт -S, --файл за гнездо -t, --threads възстановява броя на използваните нишки, по подразбиране е 4 -C, --компреси-протокол -V, --версията показва версията -v, --дългословен изходен режим, 0 = безшумен, 1 = грешки, 2 = предупреждения, 3 = информация, по подразбиране 2 Тестови резервни копия
Командата за експортиране на база данни е следната:
След изпълнението, mydumper създава зададен адрес на директорията, през който преминаваме през параметрите, който съдържа метаданни, записващ името на двоичния лог файл при резервното копие и мястото, където е записан логът. Всяка таблица има две резервни копия files:database.table-schema.sql файл със структура на таблицата и database.table.sql файл с данни на таблицата.
Планирани резервни копия
Справочните статии са както следва:
Нека създадем нов shell скрипт, наречен :backup_uat.sh, както следва:
Дайте разрешения за изпълнение:
Добави задача
Задачата се изпълнява всеки ден в 00:10 ч.
Презаредете конфигурацията
(Край)
|
Предишен:Основи на Linux средата: разликата между инсталирането на el6, el7 и el8 в rpm пакетиСледващ:Обяснение на RAID технологията - сравнение с RAID0, RAID1, RAID3, RAID5, RAID6, RAID10
|