Maison  >  Article  >  base de données  >  Explication détaillée sur la comparaison et l'utilisation de mydumper et mysqldump dans mysql

Explication détaillée sur la comparaison et l'utilisation de mydumper et mysqldump dans mysql

小云云
小云云original
2018-01-17 10:42:252384parcourir

Cet article partage principalement avec vous la comparaison détaillée et l'utilisation de mydumper et mysqldump dans mysql L'outil de sauvegarde de base de données MySQL a son propre mysqldump, qui est un outil de sauvegarde officiel de mysql. Cependant, l'outil de sauvegarde tiers mydumper est utilisé par un plus grand nombre de personnes en raison de ses fonctionnalités supérieures. Ensuite, nous vérifierons l’efficacité des sauvegardes entre eux grâce à des tests.

Si vous ne sauvegardez que quelques tables ou une seule bibliothèque, mysqldump et mydumper sont plus pratiques qu'innobackup, mais mydumper ajoute relativement de nombreuses fonctionnalités, telles que la sauvegarde multithread, la sauvegarde de correspondance régulière, le regroupement et l'auto-assistance. test et d'autres fonctions. De plus, mydumper et mysqldump sont essentiellement les mêmes données logiques d'exportation et ne prennent pas en charge la sauvegarde à chaud en ligne innodb. Bien sûr, nous pouvons également utiliser innobackup pour sauvegarder certaines données de table, mais ce n'est pas le même type. de méthode de sauvegarde comme mydumper et mysqldump, donc ce qui suit teste uniquement l'utilisation entre mydumper et mysqldump.

mydumper export

Utilisez l'outil mydumper pour exporter le test (9.4G ) données avec 8 threads et compressez-les, comme suit Comme indiqué :
mydumper -B test --regex 'test.*' -c -e -G -E -R --use-savepoints -h 10.0.21.5 -u root -P 3301 -p xxxxxx -t 8 -o /data/mysql_bak/

Dans le répertoire /data/mysql_bak, chaque table de la bibliothèque est enregistrée sous forme de deux fichiers : définition de table et données.

Le temps d'exécution global est le suivant, il a fallu un total de 123 secondes


# cat metadata 
Started dump at: 2017-05-19 10:48:00
SHOW MASTER STATUS:
  Log: mysql-bin.000406
  Pos: 2165426
  GTID:(null)

SHOW SLAVE STATUS:
  Host: 10.144.127.4
  Log: mysql-bin.000419
  Pos: 506000361
  GTID:(null)

Finished dump at: 2017-05-19 10:50:03

export mysqldump

Utilisez l'outil mysqldump par défaut pour exporter la bibliothèque et la compresser, comme indiqué ci-dessous :


# time mysqldump -B test -E -R -h 10.0.21.5 -u root -P 3301 -p | gzip >/data/test.sql.gz
Enter password: 

real  3m19.805s
user  4m47.334s
sys 0m10.395s

real Une ligne montre que l'intégralité de le temps d'exécution de mysqldump est de 199,8 s

Résumé

Dans l'ensemble, comme il n'y a pas beaucoup de données, la différence de temps entre mysqldump et mydumper n'est pas grande. le temps est consommé au niveau de la transmission des données. Si la bibliothèque est suffisamment grande, les avantages de mydumper peuvent être reflétés. De plus, faible En raison des changements de syntaxe dans les versions supérieures de MySQL, la version de mydumper peut provoquer des erreurs d'exportation, telles que. comme l'erreur suivante :


** (mydumper:18758): CRITICAL **: Couldn't execute 'SET OPTION SQL_QUOTE_SHOW_CREATE=1': You have an error in your SQL syntax; 
check the manual that corresponds to your MySQL server version for the right syntax to use near 'OPTION SQL_QUOTE_SHOW_CREATE=1' 
at line 1 (1064)

Pour résoudre ce problème, vous pouvez utiliser Pour les versions supérieures de mydumper, si vous rencontrez toujours ce problème dans les versions supérieures , vous pouvez vous référer au code officiel de github pour apporter les modifications de code correspondantes

Recommandations associées :

Détails de l'installation de Mydumper

Introduction détaillée. au principe de mydumper

Introduction à l'utilisation de l'outil de sauvegarde de base de données MySQL Mydumper

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn