Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 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, --operator-size Кількість байтів вставного оператора, згенерованого ---оператор-розміром, за замовчуванням становить 1000000
-r, --рядки При поділі таблиці на рядки вкажіть кількість рядків блоків, вказуючи цю опцію, вимкніть --chunk-filesize
-F, --chunk-файл При розділенні таблиці за розміром, вказаний розмір блоку в MB
-c, --компрес компрес компрес компресія компресія вихідний файл
-e, --build-empty-files, якщо дані таблиці порожні, або він створює порожній файл (за замовчуванням немає даних, лише файл структури таблиці)
-x, --regex збігається з регулярним виразом, що відповідає 'db.table'
-i, --ігнорувати-рушії ігнорують двигуни зберігання і використовують товсте розділення
-m, --без схем не роблять резервного копіювання таблицьних структур
-k, --no-lock не використовують тимчасові спільні блокування лише для читання, і використання цієї опції призведе до невідповідностей даних
--less-locking скорочує час, необхідний для застосування блокувань до таблиць InnoDB (механіка цього шаблону детально пояснена нижче)
-l, --long-query-guard Встановіть час тайм-ауту для довгих запитів, які блокують резервні копії, за секунди, і за замовчуванням — 60 секунд (mydumper за замовчуванням виходить після тайм-ауту).
--kill-long-queries вбиває довгі запити (без виходу)
-b, --бінлоги експортують бінлоги
-D, --режим ввімкнення демона, який робить резервне копіювання бази даних на певних інтервалах без перерв
-I, --snapshot-interval dump Snapshot interval time, за замовчуванням 60s, має бути в режимі daemon
-L, --logfile використовує ім'я log файлу (log, згенерований mydumper) і за замовчуванням використовує стандартний вивід
--tz-UTC у різних часових поясах — це опція, яка використовується, але не пояснюється
--skip-tz-utc Id
--use-savepoints Використовуйте точки збереження для скорочення часу блокування, спричиненого збором метаданих, що вимагає SUPER-дозволів
--success-on-1146 Не збільшує кількість помилок і попередження замість критичного у випадку, якщо таблиця не існує
-h, --host Ім'я хоста з'єднання
-u, --користувач робить резервну копію користувача
-п, --пароль
-P, --порт
-S, --socket Файл сокета при використанні сокетної комунікації
-t, --потоки За замовчуванням кількість увімкнених резервних потоків становить 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
-С, --протокол стиснення
-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. Якщо таблиця, яку потрібно відновити, існує, спочатку відкиньте таблицю, використовуйте цей параметр і зробіть резервну копію структури таблиці, коли потрібно робити резервну копію


Цей наказ,Новостворені таблиці та дані не видаляються

Опубліковано 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