Maison >base de données >tutoriel mysql >Introduction détaillée au principe de mydumper

Introduction détaillée au principe de mydumper

怪我咯
怪我咯original
2017-06-23 13:20:582430parcourir
Installation de Mydumper : http://www.cnblogs.com/lizhi221/p/7010174.html
introduction à mydumper
Le propre outil mysqldump de MySQL prend en charge le travail à thread unique, exporter plusieurs tables une par une, sans machine parallèle, ce qui rend impossible une sauvegarde rapide des données.
En tant qu'outil pratique, mydumper peut bien prendre en charge le travail multithread. Il peut lire les données de la table et écrire des données dans différents fichiers simultanément avec plusieurs threads. parallel , ce qui le rend plus rapide que mysqldump traditionnel en termes de vitesse de traitement. L'une de ses caractéristiques est que la liste doit être verrouillée pendant le traitement, donc si nous devons effectuer un travail de sauvegarde pendant les heures de travail, cela entraînera un blocage DML. Mais en général, MySQL actuel a un maître et un esclave, et la plupart des sauvegardes sont effectuées sur l'esclave, le problème du verrouillage n'a donc pas besoin d'être pris en compte. De cette façon, mydumper peut mieux accomplir la tâche de sauvegarde.
fonctionnalités de mydumper
①Multi-threading Sauvegarde
② Puisqu'il s'agit d'une sauvegarde logique multithread, plusieurs fichiers de sauvegarde seront générés après la sauvegarde
③ Appliquer FTWRL au La table MyISAM lors de la sauvegarde (FLUSH TABLES WITH READ LOCK), bloquera les instructions DML
④ Assurer la cohérence des données de sauvegarde
⑤ Fichier de support compression
⑥Prend en charge l'exportation du binlog
⑦Prend en charge la récupération multithread
⑧Prend en charge le travail en mode démon , chronométrage des instantanés et des journaux binaires continus
⑨Prise en charge de la découpe des fichiers de sauvegarde en morceaux
Explication détaillée de mydumper paramètres
$ mydumper --helpUsage:
  mydumper [OPTION...] multi-threaded MySQL dumping

Help Options:  -?, --help                  Show help optionsApplication Options:  -B, --database              要备份的数据库,不指定则备份所有库
  -T, --tables-list           需要备份的表,名字用逗号隔开
  -o, --outputdir             备份文件输出的目录
  -s, --statement-size        生成的insert语句的字节数,默认1000000
  -r, --rows                  Try to split tables into chunks of this many rows. This option turns off --chunk-filesize
  -F, --chunk-filesize        Split tables into chunks of this output file size. This value is in MB
  -c, --compress              Compress output files压缩输出文件
  -e, --build-empty-files     如果表数据是空,还是产生一个空文件(默认无数据则只有表结构文件)
  -x, --regex                 Regular expression for 'db.table' matching 使用正则表达式匹配'db.table'
  -i, --ignore-engines        Comma delimited list of storage engines to ignore忽略的存储引擎,用逗号分割
  -m, --no-schemas            Do not dump table schemas with the data不备份表结构,只备份数据
  -d, --no-data               Do not dump table data备份表结构,不备份数据
  -G, --triggers              Dump triggers备份触发器
  -E, --events                Dump events
  -R, --routines              Dump stored procedures and functions备份存储过程和函数
  -k, --no-locks              不使用临时共享只读锁,使用这个选项会造成数据不一致
  --less-locking              Minimize locking time on InnoDB tables.减少对InnoDB表的锁施加时间
  -l, --long-query-guard      设定阻塞备份的长查询超时时间,单位是秒,默认是60秒(超时后默认mydumper将会退出)
  -K, --kill-long-queries     Kill long running queries (instead of aborting)杀掉长查询 (不退出)
  -D, --daemon                Enable daemon mode启用守护进程模式,守护进程模式以某个间隔不间断对数据库进行备
  -I, --snapshot-interval     dump快照间隔时间,默认60s,需要在daemon模式下
  -L, --logfile               使用的日志文件名(mydumper所产生的日志), 默认使用标准输出
  --tz-utc                    SET TIME_ZONE='+00:00' at top of dump to allow dumping of TIMESTAMP data when a server has data in different time zones or data is being moved between servers with different time zones, defaults to on use --skip-tz-utc to disable.
  --skip-tz-utc               
  --use-savepoints            使用savepoints来减少采集metadata所造成的锁时间,需要 SUPER 权限
  --success-on-1146           Not increment error count and Warning instead of Critical in case of table doesn't exist
  --lock-all-tables           Use LOCK TABLE for all, instead of FTWRL
  -U, --updated-since         Use Update_time to dump only tables updated in the last U days
  --trx-consistency-only      Transactional consistency only
  -h, --host                  连接的主机名
  -u, --user                  用来备份的用户名
  -p, --password              用户密码
  -P, --port                  连接端口
  -S, --socket                使用socket通信时的socket文件
  -t, --threads               开启的备份线程数,默认是4
  -C, --compress-protocol     压缩与mysql通信的数据
  -V, --version               显示版本号
  -v, --verbose               输出信息模式, 0 = silent, 1 = errors, 2 = warnings, 3 = info, 默认为2
Résumé du processus principal de mydumper
1 Le fil principal FLUSH TABLES WITH READ LOCK, applique une lecture seule globale. verrouiller pour empêcher l'écriture des instructions DML. Assurer la cohérence des données
2. Lisez le nom du fichier journal binaire et l'emplacement d'écriture du journal à l'heure actuelle et enregistrez-le dans le fichier de métadonnées pour récupération de point immédiate
3. N (le nombre de threads peut être spécifié, la valeur par défaut est 4) dump thread COMMENCER LA TRANSACTION AVEC UN INSTANTANÉ COHÉRANT ; activer la lecture de transactions cohérentes
4. Videz les tables non-InnoDB, exportez d'abord les tables du moteur de non-transaction
5. , libérez le verrou global en lecture seule
6. dumpez les tables InnoDB, exportez les tables InnoDB en fonction des transactions
Fin de la transaction
Mode sans verrouillage de Mydumper :
Mydumper utilise --less-locking pour réduire l'attente de verrouillage À l'heure actuelle, le mécanisme d'exécution de mydumper est à peu près
1. Fil principal FLUSH TABLES AVEC READ LOCK (verrouillage global)
2. Dump thread COMMENCER LA TRANSACTION AVEC UN INSTANTANÉ COHÉRANT ;
3. LL Dump thread LOCK TABLES non-InnoDB (verrouillage interne du thread)
4. Fil principal DÉVERROUILLER LES TABLES
5. LL Dump thread dump tables non-InnoDB
6. LL DUmp thread UNLOCK non-InnoDB
7 , Vider les tables InnoDB de dump de thread
organigramme de sauvegarde 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