mysql dump
Linux

Посібник із використання MySQLDump для резервного копіювання ваших баз даних

By Jean-Luc Pircard , on 16 Лютого, 2024 , updated on 16 Лютого, 2024 - 1 minute to read
Notez-moi

Резервне копіювання ваших баз даних є важливим кроком у забезпеченні безпеки та цілісності ваших даних. Серед багатьох доступних інструментів MySQLDump виділяється своєю простотою та ефективністю. Цей посібник допоможе вам зрозуміти, як використовувати MySQLDump для резервного копіювання баз даних MySQL.

Що таке MySQLDump?

MySQLDump — це інструмент резервного копіювання бази даних MySQL. Він генерує файл, що містить усі директиви SQL, необхідні для відтворення бази даних, ідентичної до стану, у якому вона була під час резервного копіювання. Цей інструмент широко використовувався вже більше п’ятнадцяти років, зокрема завдяки його здатності керувати великими обсягами даних.

Як використовувати MySQLDump?

Параметри MySQLDump

MySQLDump пропонує різноманітні параметри для налаштування процесу резервного копіювання. Параметр “–opt” увімкнено за замовчуванням у сучасних версіях MySQLDump. Ця опція вмикає наступні параметри:

  • –add-drop-table : додає директиви для очищення таблиць перед їх повторним створенням. Корисно для повторного введення файлу шляхом перезапису старих версій таблиць, які вже можуть лежати в базі даних.
  • –add-locks : додає команди для блокування таблиць під час їх написання; тоді неможливо читати або писати в нього одночасно з введенням даних, що дозволяє уникнути уповільнення введення.
  • –create-options : додає команди створення таблиці. Ми не могли без цього.
  • –disable-keys : цей параметр прискорює введення даних, гарантуючи, що індекси створюються лише після введення всіх рядків. За винятком того, що це працює лише з неунікальними індексами таблиць MyISAM. І оскільки ви повинні використовувати механізм InnoDB замість MyISAM, нас це не хвилює…
  • –extended-insert : Ця опція необхідна. Він поєднує кілька вставок в одну команду INSERT.
  • –lock-tables : Цей параметр має на меті гарантувати цілісність даних, які зберігаються, шляхом блокування таблиць під час читання. Я ще повернуся до цього моменту, тому що це проблематично.
  • –швидко : За замовчуванням, коли mysqldump піклується про таблицю, він намагається отримати всі дані в пам’яті перед записом її вмісту. За винятком того, що якщо у вас дуже великі таблиці, вони не помістяться в RAM. Опція «–quick» запобігає завантаженню всього в пам’ять.
  • –set-charset : запитує додавання директиви SET NAMES із зазначенням використовуваного кодування символів. Воно не їсть хліба.

Проблема з параметром “–lock-tables”.

Опція «–lock-tables» може бути проблематичною під час використання у виробництві. По суті, цей параметр блокує таблиці під час читання, що може унеможливити для вашої програми маніпулювання даними протягом виконання MySQLDump. Щоб вирішити цю проблему, рекомендується вимкнути цей параметр за допомогою параметра «–skip-lock-tables» і додати параметр «–single-transaction», щоб забезпечити цілісність отриманих даних.

Резервне копіювання яких баз даних за допомогою MySQLDump?

Може виникнути спокуса скористатися опцією «–all-databases» для резервного копіювання всіх баз даних на сервері. Однак ця практика може бути проблематичною, оскільки формат таблиць, які використовує MySQL, може змінюватися від однієї версії до іншої. Крім того, наявність одного великого файлу, що містить усі таблиці для всіх баз даних, може ускладнити його використання. Тому рекомендується створювати окремі файли для кожної бази даних.

Тригери, процедури та події

За замовчуванням MySQLDump зберігає тригери. Якщо ви використовуєте збережені процедури та події, вам потрібно додати відповідні параметри «–routines» і «–events».

Трохи безпеки з MySQLDump

Важливо зазначити, що передача пароля користувача через командний рядок може бути ризикованою практикою. Щоб уникнути цього, ви можете передати пароль таким чином: MYSQL_PWD=”пароль” mysqldump -u базовий користувач > base.sql

Висновок

MySQLDump — це потужний і гнучкий інструмент для резервного копіювання ваших баз даних MySQL. Правильно розуміючи та використовуючи його параметри, ви можете забезпечити безпеку та цілісність своїх даних. Пам’ятайте, що резервне копіювання ваших даних є важливим кроком в управлінні вашими базами даних.

Jean-Luc Pircard

Jean-Luc Pircard

Je suis un passionné de l'informatique qui aime les défis et les nouvelles technologies. J'aime découvrir de nouveaux systèmes et s'améliorer constamment.

Comments

Leave a comment

Your comment will be revised by the site if needed.