Compression and external commands - MyDumper documentation

Hide navigation sidebar
Hide table of contents sidebar
Skip to content
Back to top
Toggle table of contents sidebar

# Compression and external commands

It is possible to change what mydumper is writing and what myloader is receiving, with `--exec-per-thread` and `--exec-per-thread-extension`.

When you use `mydumper -c/--compress`, mydumper internally set:

    --exec-per-thread="/usr/bin/gzip -c"
    --exec-per-thread-extension=".gz"

On myloader it will automatically detect the extension and use:

    --exec-per-thread="/usr/bin/gzip -c -d"
    --exec-per-thread="/usr/bin/zstd -c -d"

to decompress the files by default. However, if you need to change to a different location of the executable, parameters or use a different compression software, you need to set both options:

    --exec-per-thread
    --exec-per-thread-extension

## Example

If you want to compress with bzip2, you need to run on mydumper with this parameters, for example:

    mydumper -o data --clear -T sakila.film \
             --exec-per-thread="/usr/bin/bzip2" \
             --exec-per-thread-extension=".bz2"

You will get this backup files:

    -rw-r--r-- 1 circleci circleci   520 Jul 16 13:59 metadata
    -rw-r----- 1 circleci circleci 11500 Jul 16 13:59 sakila.film.00000.sql.bz2
    -rw-r----- 1 circleci circleci 11360 Jul 16 13:59 sakila.film.00001.sql.bz2
    -rw-r----- 1 circleci circleci   758 Jul 16 13:59 sakila.film-schema.sql.bz2
    -rw-r----- 1 circleci circleci   322 Jul 16 13:59 sakila-schema-create.sql.bz2

On myloader then you can use this options:

    myloader -d data -o \
             --exec-per-thread="/usr/bin/bzip2 -d" \
             --exec-per-thread-extension=".bz2"