web-dev-qa-db-fra.com

Quel est le moyen le plus rapide d'exécuter une vidage mysql d'une grande base de données?

J'ai actuellement une base de données assez importante que je crée des vidanges à partir de nos sites Web Live Server à mon serveur de test (et inversement).

La création de la décharge est assez rapide (prend environ 30 secondes). Toutefois, exécutant le fichier de vidage sur mon serveur de test (ou Server Live Server) afin de configurer une copie de la base de données déversée prend des âges (environ 2-4 heures).

Y a-t-il de toute façon pour rendre cela plus vite? Je génère actuellement les décharges de base de données MySQL à l'aide de Navicat, puis les exécuter à nouveau à l'aide de Navicat.

2
Ricky

Ajout au commentaire, comme réponse séparée:

  1. Persona Xtrabackup - https://www.percona.com/software/mysql-database/percona-xtrabackup
  2. Stop - Copie - Démarrer
  3. (préféré) Joindre un serveur esclave avec une réplication basée sur la ligne, qu'à tout moment, arrêtez les fichiers esclaves - Copier - Démarrer l'esclave

en cas de réplication à base d'esclaves, en ligne - fortement recommandé. En cas de réplication mixte ou basée sur une instruction, vous devez vous assurer que vous n'avez pas ouvert des tables temporaires sur esclave ou la réplication sera cassée, avec une réplication basée sur la ligne - des tables temporaires non impliquées dans le processus de réplication.

Bien sûr - même version de MySQL sur toutes les machines

1
a_vlad