4 votes

Quelle est la meilleure façon de déplacer des données MySQL d'un serveur à un autre ?

Je change de fournisseur de VPS et je souhaite transférer les données de mes tables MySQL d'un serveur à l'autre. J'ai actuellement un mysqldump quotidien de toutes les tables et les plus grandes tables ont plus de 10M de lignes et le fichier dump est d'une taille d'environ 4-5GB. L'importation de ce fichier prend de nombreuses heures et je me demande s'il existe un moyen plus rapide de le faire - quelque chose qui prendrait 10 ou 15 minutes plutôt que des heures et des heures. Je vous remercie.

Edit : toutes mes tables sont InnoDB

3voto

navaho Points 295

Pourquoi ne pas utiliser xtrabackup ? Votre édition indique que vos tables sont InnoDB. xtrabackup fonctionne bien pour vos besoins tels que vous les décrivez.

2voto

rush Points 1941

Cette méthode ne fonctionne pas dans le cas d'Innodb. Si les versions de Mysql sont les mêmes, vous pouvez essayer de déplacer les fichiers de /var/lib/mysql (en fonction de votre distribution) d'un vps à l'autre.
Par exemple, dans Debian GNU/Linux, cela fonctionnera, mais vous devrez également modifier le mot de passe de l'utilisateur mysql debian-sys-maint. Vous pouvez le faire de cette façon :
mysql -uroot -p -e "GRANT ALL PRIVILEGES ON _._ TO 'debian-sys-maint'@'localhost' IDENTIFIED BY '$(sed -n '/password/p;' /etc/mysql/debian.cnf | sed '1d;s/.* //')' WITH GRANT OPTION;"
Si vous avez une version mineure de mysql différente, cela peut fonctionner, mais théoriquement vous pouvez avoir des bugs.

1voto

Jeff Wilcox Points 5572

Utilisation Réplication MySQL ici. Vous ne devriez pas avoir de problèmes avec les versions - puisque vous avez un VPS et pas seulement un hébergement, si j'ai bien compris. Si les performances de la deuxième machine ne sont pas beaucoup plus mauvaises que celles de l'autre, l'esclave ne devrait avoir que quelques secondes de retard sur le maître.

N'oubliez pas d'arrêter la réplication lorsque vous démissionnez du premier VPS (quelqu'un pourrait faire un DROP sur le Master qui se répliquerait sur le Slave).

Essayez de planifier l'avenir - peut-être que certaines tables MyISAM ne suffiront pas avec un trafic plus important - vous pouvez avoir un esclave MySQL avec certaines tables sur des moteurs différents du maître.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X