Fondamentalement, nous avons une grande base de données MySQL et nous cherchons à faire la réplication vers un esclave (configuration maître esclave). Avez-vous un guide étape par étape sur la façon de procéder avec le temps d'arrêt MINIMAL dans la base de données? La sauvegarde de la base de données et le transfert de la sauvegarde vers le serveur esclave (même via un réseau privé) prend environ 40 minutes. Un temps d'arrêt assez long.
la source
pour démarrer une réplication, vous avez besoin d'une copie cohérente de votre base de données sur l'esclave
vos tables sont-elles soutenues par myisam ou innodb? pour découvrir le problème
et regardez la colonne "Moteur"
si toutes les tables sont innodb, vous pouvez effectuer une configuration sans interruption en utilisant mysqldump --single-transaction et l'importer dans l'esclave
si les tables sont myisam, il devra y avoir des temps d'arrêt car vous devez verrouiller les tables pour l'écriture pendant qu'elles sont copiées. mysqlhotcopy est l'outil pour vous aider.
Si vous utilisez LVM (gestionnaire de volumes logiques), vous pouvez également arrêter la base de données, prendre un instantané LVM en quelques secondes et redémarrer la base de données. Vous pouvez ensuite effectuer une copie cohérente à partir de l'instantané.
la source
Pour configurer l'esclave, vous devrez prendre un instantané de données et enregistrer la position du journal binaire. La sauvegarde de la base de données ne devrait pas entraîner de temps d'arrêt, même si cela entraînera une baisse des performances, mais vous sauvegardez déjà la base de données de toute façon, n'est-ce pas? Vous pouvez trouver la sauvegarde nécessaire pour verrouiller certaines tables et cela peut entraîner des blocages sur votre application, il faut vraiment regarder comment elle est implémentée pour cela.
Pouvez-vous prendre un instantané du disque? Cela réduirait considérablement les temps d'arrêt si vous pouvez effectuer une sauvegarde à chaud.
la source