Copiez manuellement une base de données MySQL 5.5 sur un autre ordinateur
P粉588152636
2023-09-05 00:16:59
<p>Mon entreprise utilise un produit qui utilise MySQL 5.5 comme base de données principale. Le produit installe et configure automatiquement MySQL lors de l'installation. Le produit peut être configuré pour fonctionner dans une configuration redondante en veille chaude. Dans ces cas-là, effectuez le même processus d'installation sur 2 serveurs distincts puis sélectionnez le mode redondant lors de la configuration initiale du produit. Le produit gère tout le processus de copie des données de la base de données en interne et de synchronisation des deux bases de données. MySQL connaît les paramètres de redondance. MySQL est installé de manière identique sur les deux serveurs, au même endroit et a la même structure. Le produit ne dispose pas d'un moyen très élégant/efficace pour synchroniser des bases de données volumineuses (par exemple, des tables 3K de taille 300 Go) du serveur principal vers le serveur de sauvegarde en cas de besoin, par exemple lors de la création d'un système redondant à partir d'un serveur unique/qui fonctionne depuis quelque temps configuration du serveur maître. Ma question est la suivante. </p>
<p>Étant donné que l'installation de MySQL est identique sur les deux serveurs, existe-t-il un moyen sûr/pris en charge de copier manuellement la base de données/les fichiers du serveur principal vers le serveur de sauvegarde ? BTW, c'est sur un serveur Windows de production. Je sais que je pourrais exporter complètement la base de données depuis la base de données principale et l'importer sur le serveur BU, mais cela peut prendre quelques heures. J'aurais aimé qu'il existe une méthode prise en charge plus rapide pour copier des fichiers d'un serveur à un autre, mais lors de mes recherches, je vois des informations contradictoires. </p>
<p>Informations système
les fenêtres
MySQL 5.5
L'installation est la même sur les deux serveurs
"Données C:ProgramDataMySQLMySQL Server 5.5"
Base de données des innovations
fichiers par table = true</p>
<p>Merci d'avance pour vos suggestions. </p>
<p>Une fois, j'ai simplement essayé de copier le dossier de base de données contenant tous les fichiers de table de base de données innovants, "C:ProgramDataMySQLMySQL Server 5.5dataMydbase", d'un serveur à un autre, mais MySQL ne démarrait pas et présentait des erreurs.</ p>
Oui : arrêtez le service MySQL Server sur les deux ordinateurs. Vous pouvez ensuite déplacer les fichiers dans datadir comme vous le souhaitez. Mais cela entraînera un certain temps d'arrêt pendant le transfert de fichiers.
Si aucun temps d’arrêt n’est indispensable, c’est possible, mais cela nécessite plus d’étapes.
Ce que j'ai fait, c'est utiliser Percona XtraBackup pour effectuer une sauvegarde physique de l'instance source, mais ce n'est pas facile pour vous puisque vous utilisez Windows. XtraBackup n'est pas disponible pour Windows. Certaines personnes utilisent des astuces Conteneurs Docker sous Windows .
Restaurez ensuite XtraBackup sur votre nouvelle machine de la manière normale et configurez-le comme une copie de l'instance source. Voir https://docs.percona.com/percona-xtrabackup/8.0/howtos/setting_up_replication.html
En faisant de la nouvelle instance une réplique, vous pouvez la mettre à jour en fonction des dernières modifications survenues sur l'instance source lors de la configuration de la réplique.
Puis à un moment donné, vous décidez de passer à une nouvelle instance. Ensuite, définissez l'instance source en mode lecture seule pour empêcher les applications clientes d'apporter de nouvelles modifications. Laissez la réplique rattraper les dernières modifications finales (cela ne prend qu'une seconde si la réplique a déjà rattrapé les modifications). Vous pouvez désormais modifier l'application client pour utiliser la copie au lieu de la source précédente. Utilisez ensuite RESET SLAVE pour déconfigurer la réplication sur la nouvelle instance, car la dernière chose que vous souhaitez est que d'autres modifications se produisent sur la source précédente et soient répliquées sur la nouvelle instance.
Si vous essayez ce processus, je vous recommande de tester sur une instance de test (plutôt que sur une instance de production) jusqu'à ce que vous soyez familiarisé avec les outils.
P.S. : En plus de ne pas prendre en charge Windows, je ne sais pas si la version actuelle de XtraBackup fonctionnera avec MySQL 5.5. Cette version est sortie en 2010 et abandonnée en 2018. Par conséquent, je pense que vous devez rechercher quelle version de XtraBackup peut encore lire les instances MySQL 5.5. Vous devrez peut-être utiliser une ancienne version de XtraBackup.