Buy Percona ServicesBuy Now!

Docker Images for Percona Server for MySQL Group Replication

 | February 15, 2017 |  Posted In: Group Replication, MySQL


Group ReplicationIn this blog post, we’ll point to a new Docker image for Percona Server for MySQL Group Replication.

Our most recent release of Percona Server for MySQL (Percona Server for MySQL 5.7.17) comes with Group Replication plugins. Unfortunately, since this technology is very new, it requires some fairly complicated steps to setup and get running. To help with that process, I’ve prepare Docker images that simplify its setup procedures.

You can find the image here:

To start the first node (bootstrap the group):

To add nodes into the group after:

You can also get a full script that starts “N” number of nodes, here:


Vadim Tkachenko

Vadim Tkachenko co-founded Percona in 2006 and serves as its Chief Technology Officer. Vadim leads Percona Labs, which focuses on technology research and performance evaluations of Percona’s and third-party products. Percona Labs designs no-gimmick tests of hardware, filesystems, storage engines, and databases that surpass the standard performance and functionality scenario benchmarks. Vadim’s expertise in LAMP performance and multi-threaded programming help optimize MySQL and InnoDB internals to take full advantage of modern hardware. Oracle Corporation and its predecessors have incorporated Vadim’s source code patches into the mainstream MySQL and InnoDB products. He also co-authored the book High Performance MySQL: Optimization, Backups, and Replication 3rd Edition.


  • We also created a script which allows starting group replication from a binary tarball base directory (this does not use Docker). The script is available in the Percona-QA/percona-qa github repository

    Change your_group_replication_basedir to the Group Replication basedir in the below. will generate a GR startup script called start_group_replication;

    $ cd ~
    $ git clone
    $ cd your_group_replication_basedir
    $ ~/percona-qa/
    Adding scripts: start | start_group_replication | start_valgrind | start_gypsy | stop | kill | setup | cl | test | init | wipe | all | prepare | run | measure | tokutek_init
    Setting up server with default directories
    consider switching off the –initialize-insecure option.
    Done! To get a fresh instance at any time, execute: ./all (executes: stop;wipe;start;sleep 5;cl)

Leave a Reply