Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 27725|Отговор: 4

[Източник] Редовно архивирайте отдалечени MySQL бази данни в Linux среди

[Копирай линк]
Публикувано в 30.09.2021 г. 14:42:47 ч. | | | |
Планираното архивиране на база данни е задължително за всеки разработчик, а обикновените архивни данни могат да решат проблема с случайното изтриване на някои данни, които могат да бъдат възстановени до определен момент и да минимизират загубите.

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

Преглед:

Резюмета на бази данни за импорт и износ на mysqldump
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, --оператор-размер Броят байтове на вмъкналото операторо, генерирани от ---оператор-размер, е 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 файл с данни на таблицата.

Планирани резервни копия

Справочните статии са както следва:

CentOS 7 използва crontab за изпълнение на задачи на редовни интервали
https://www.itsvse.com/thread-9280-1-1.html
Нека създадем нов shell скрипт, наречен :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 Ако таблицата, която ще бъде възстановена, съществува, първо я премахнете, използвайте този параметър и архивирайте структурата на таблицата, когато трябва да направите резервно копие


Тази заповед,Новосъздадените таблици и данни не се изтриват

Публикувано в 2.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