Existe-t-il des techniques documentées pour accélérer les vidages et les importations mySQL?
Cela inclurait les paramètres my.cnf, l'utilisation de disques virtuels, etc.
Recherche uniquement de techniques documentées, de préférence avec des repères montrant une accélération potentielle.
http://www.maatkit.org/ a un mk-parallel-dump et mk-parallel-restore
Si vous souhaitiez un mysqldump multi-thread, ne le souhaitez plus. Cet outil sauvegarde les tables MySQL en parallèle. C'est un mysqldump beaucoup plus intelligent qui peut agir comme un wrapper pour mysqldump (avec un comportement par défaut raisonnable) ou comme un wrapper autour de SELECT INTO OUTFILE. Il est conçu pour des applications hautes performances sur de très grandes tailles de données, où la vitesse compte beaucoup. Il tire parti de plusieurs processeurs et disques pour vider vos données beaucoup plus rapidement.
Il existe également diverses options potentielles dans mysqldump, telles que ne pas créer d'index pendant l'importation du vidage - mais les faire en masse à la fin.
Si vous importez vers InnoDB, la chose la plus efficace que vous puissiez faire est de mettre
innodb_flush_log_at_trx_commit = 2
dans ton my.cnf
, temporairement pendant que l'importation est en cours. Vous pouvez le remettre à 1
si vous avez besoin d'ACIDE.
Je suppose que votre question dépend également de l'endroit où se trouve le goulot d'étranglement:
-C
/--compress
drapeau à mysqldump
.Jetez également un œil au --quick
indicateur pour mysqldump
(et --disable-keys
si vous utilisez MyIsam).
L'utilisation d'inserts étendus dans les vidages devrait accélérer les importations.
désactiver les vérifications de clés étrangères et activer la validation automatique.
mysqlhotcopy
pourrait également être une alternative pour vous si vous ne disposez que de tables MyIsam.