34 votes

Meilleure pratique pour la sauvegarde d'une base de données MySQL de production?

Quelle est la meilleure pratique pour sauvegarder une base de données MySQL de production (c'est-à-dire sur un site Web actif et éventuellement mis à jour)?

Certains objectifs que j'ai en tête sont:

  • la sauvegarde de base de données doit être un instantané cohérent en interne
  • ne verrouille pas le site Web pendant que la sauvegarde est en cours
  • (bon d'avoir) des sauvegardes incrémentielles des modifications uniquement
  • automatique
  • capable d'être fait à distance
  • sécurise

24voto

Rishi Agarwal Points 985

Je vous suggère de configuration de la Réplication MySQL. Vous devrez configurer un Maître et un Esclave. Tous les lire, écrit à la DB qui pourrait aller sur votre Serveur principal.

La sauvegarde de la bd peut être pris à partir du serveur Esclave sans interrompre le Maître. Même si vous mettez en pause/arrêter le processus de Réplication au cours du processus de sauvegarde, le Maître ne pourra pas se touchés. Seul l'Esclave sera être touchés au cours de cette période. Mais depuis la lecture des écritures sont dirigés vers le Maître, votre site ne sera pas verrouillé.

Pour activer les sauvegardes incrémentielles, avec le Maître-Esclave de l'installation, vous devrez activer la Journalisation Binaire sur l'Esclave (le Maître aura toujours besoin de Journalisation Binaire pour la Réplication).

Pour faire un secure de réplication, vous devez vous connecter Maître-Esclave avec une connexion SSL.

Vous pouvez trouver toutes les informations ici

12voto

Nathacof Points 222

MySQL est un outil pour faire des sauvegardes en ligne: MySQL HotCopy.

Malheureusement, cela ne fonctionne que pour MyISAM, et tables d'ARCHIVE.

Mysqldump peuvent tout gérer, à l'exception des sauvegardes incrémentielles.

Pour les tables InnoDB, mysqldump fournit un moyen de faire une sauvegarde en ligne:

shell> mysqldump --tous les bases de données --single-transaction > all_databases.sql

Si vous avez besoin de sauvegardes incrémentielles, vous voudrez peut-être chercher en Binaire de MySQL journalisation: le Log Binaire.

La sauvegarde de la binaire journaux enregistrera uniquement les requêtes qui modifient les données, et vous pouvez faire le point dans le temps restaure avec cela. De Sauvegarde Et De Reprise.

Nathan Coffield, Serveur Dédié, Ingénieur, ncoffield@hostmysite.com, www.hostmysite.com

8voto

Charles Faiga Points 5003

Une solution consiste à exécuter la réplication sur un deuxième serveur.

• arrêter la réplication

• Faites la sauvegarde sur le deuxième serveur

• Redémarrer la réplication

Cela vous donne l’avantage supplémentaire que si votre serveur principal meurt, vous disposez d’une copie vivante des données.

2voto

Berek Bryan Points 1770

Dans l'un des blogs de stackoverflow.com, Jeff et Joel ont mentionné l'utilisation de SVN pour sauvegarder des bases de données. Cela semble être une bonne idée et mon entreprise envisage de changer notre système de sauvegarde pour adopter cette approche.

Je n'ai pas encore fait mes recherches sur le sujet, mais Jeff semblait assez catégorique quant à la sauvegarde de versions de bases de données.

1voto

Powerlord Points 43989

Si vous souhaitez uniquement des modifications incrémentielles, vous pouvez créer des copies des journaux binaires de MySQL.

Ce n'est pas vraiment une meilleure pratique, cependant. mysqldump et mysqlhotcopy (uniquement pour les tables MyISAM et ARCHIVE) doivent être utilisés pour les sauvegardes régulières.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X