Sauvegarde comme un DevOps Pro: 8 conseils MySQLDUmp que vous ne saviez probablement pas

Introduction
Si vous avez travaillé avec des bases de données, vous avez peut-être définitivement traversé des chemins avec MySQL, et probablement utilisé MySQLDump à un moment donné. Il s’agit d’un utilitaire incontournable pour sauvegarder les bases de données MySQL. Mais soyons honnêtes – la plupart d’entre nous l’utilisent dans sa forme de base et l’oubliez. Voici la chose: MySQLDump est beaucoup plus puissant que nous ne lui en donnons le crédit. Avec les bons drapeaux et astuces, vous pouvez rendre vos sauvegardes plus rapides, plus fiables et même minimiser les temps d’arrêt, tout cela est important lorsque vous exécutez des systèmes de production.
Explorons 8 conseils MySQLDUmp qui sont sous-estimés mais incroyablement utiles et que chaque ingénieur DevOps devrait être au courant.
Conseils
1. Seul schéma, aucune donnée nécessaire? Utilisez –No-Data
Parfois, tout ce que vous voulez, c’est un vidage de la structure de la base de données, y compris les tables, les déclencheurs et les index, mais sans les données réelles. Cela pourrait être lorsque nous devons reproduire un schéma de rotation de nouveaux environnements, ou il pourrait être nécessaire pour les pipelines CI / CD.
mysqldump --no-data -u root -p devops_demo > schema.sql
Ceci est idéal au cas où vous ne voulez pas attendre l’exportation de millions de lignes et que seul le schéma de base de données suffit.
2. Sauvegardes régulières sans verrouillage? – Votre ami est la transaction unique
Ce n’est pas la meilleure pratique de production d’exécuter MySQLDump sur une base de données en direct qui est interrogée régulièrement car elle peut verrouiller les tables et affecter les performances de l’application. Si vos tables sont basées sur InNODB, utilisez simplement:
mysqldump --single-transaction -u root -p devops_demo > consistent_backup.sql
Sans verrouiller les tables, il peut toujours prendre un instantané
3. Ignorez des tables indésirables (comme l’audit, temporaire ou les journaux)
Vos sauvegardes contiennent-elles de grandes tables de journal ou d’audit dont vous n’avez pas besoin en prenant des sauvegardes? Laissez-les de cette manière.
mysqldump --ignore-table=devops_demo.logs -u root -p devops_demo > no_logs.sql
Pour plus d’une table, vous pouvez utiliser à nouveau –ignore-table. En conséquence, vos décharges restent concentrées et maigres.
4. Plus rapide et plus petits avec des inserts plus longs
MySQLDump utilise des inserts étendus par défaut, qui combinent plusieurs lignes en un seul insert. Cela réduit la taille du dépotoir et accélère la restauration. Voulez-vous l’éteindre, par exemple, pour la lisibilité ou les difficultés GIT?
mysqldump --skip-extended-insert -u root -p devops_demo > readable.sql

skip_extended_insert
Remarque: Pour les grandes sauvegardes, gardez les inserts étendus en place. Éteignez-le uniquement lors de la réalisation de schéma de version ou de débogage.
5. Voulez-vous tout verrouiller? Utilisez –lock-all-tables
Si votre application peut gérer une brève pause, avez-vous besoin d’un vidage complètement cohérent? Pendant le dépotoir, verrouiller chaque table:
mysqldump --lock-all-tables -u root -p devops_demo > locked_dump.sql
Cela est particulièrement utile pour les moteurs non transactionnels.
6. Conserver l’espace en comprimant instantanément les décharges
Les grands fichiers de sauvegarde sont détestés par tout le monde. Pendant le dépôt, compressez-les:
mysqldump -u root -p devops_demo | gzip > compressed_backup.sql.gz

compressé_backup
Et pour restaurer:
gunzip < compressed_backup.sql.gz | mysql -u root -p devops_demo
Fonctionne très bien pour les artefacts Nightly Cron ou CI / CD Pipeline
7. Maintenez vos événements et routines
Il est simple d’oublier des procédures, des fonctions stockées et des tâches planifiées. Sauf si vous spécifiez le contraire, MySQLDump les ignore automatiquement.
mysqldump --routines --events -u root -p devops_demo > full_backup.sql
Incluez cela dans votre processus de sauvegarde habituel, en particulier si votre application dépend des travaux de base de données ou des procédures personnalisées.
8. Avez-vous une grande base de données? Si MySQLDump ne suffit pas, essayez MyDumper.
La nature unique de MySqLdump est un goulot d’étranglement pour les grands ensembles de données, avouons-le.
Découvrez MyDumper pour des décharges et des restaurations parallélisés plus rapides. Il est conçu pour les vastes sauvegardes MySQL et est adapté aux DevOps.
Réflexions finales
La sauvegarde des bases de données n’est pas seulement le travail d’un DBA – dans DevOps, nous possédons la disponibilité, la récupération et la fiabilité. Savoir utiliser MySqlDump comme un pro vous aide:
- Minimiser les temps d’arrêt
- Automatiser les sauvegardes plus intelligentes
- Accélérer les restaurations
- Économiser un espace de stockage
backup_benefits
Ces conseils ne sont pas sophistiqués – mais ils sont pratiques, et c’est ce qui compte dans les systèmes du monde réel. Nous à Au nouveau Peut vous aider à gérer vos bases de données efficacement et intelligemment. Nos ingénieurs certifiés DevOps et nos administrateurs de bases de données se spécialisent dans la construction de stratégies de sauvegarde efficaces, fiables et évolutives pour vos bases de données critiques.
La prochaine fois que vous toucherez un serveur MySQL, essayez l’un de ceux-ci. Votre futur moi (et vos SLA de disponibilité) vous remerciera.
Vous avez trouvé cela utile? PARTAGEZ-LE
Source link