Il existe principalement deux façons de sauvegarder vos bases de données mysql :la sauvegarde à froid (statique/hors ligne) et la sauvegarde à chaud (dynamique/en ligne).
1 À l'aide d'un script crontab, sauvegardez votre base de données tous les jours/semaines/mois, etc. Nous appelons cela une sauvegarde à froid. Le script ressemble peut-être à ceci :
!#/bin/sh
mysqldump -usample_name -S/tmp/sample.sock --databases db1 db2 > db_backup_time.sql
vous pouvez trouver le manuel de mysqldump ici . En fait, tout le chp.6 parle de sauvegarde et de récupération de la base de données. Après cela, vous obtiendrez le miroir de vos données (par exemple, 6h du matin) tous les jours.
2 Utilisation de mysql solutions de réplication (structure maître-esclave) pour la sauvegarde en ligne. Toutes les requêtes sur le maître entraînant des modifications de données seront également effectuées sur l'esclave.
comparaison :
Fondamentalement, la sauvegarde à froid est plus facile. Mais lorsque de mauvaises choses se produisent, la première méthode ne peut récupérer les données qu'au moment où vous videz le miroir. Avec la sauvegarde à chaud et l'outil mysqldump, vous pouvez récupérer les données à tout moment.
D'après mon expérience, nous composons toujours ces deux méthodes ensemble :
- écrire au miroir tous les matins, et,
- construire un esclave de la base de données maître sur une autre machine physique.
ce serait sans danger.