1. Logical MySQL Backup Tool Mydumper 0.9.1 Packages

Logical MySQL Backup Tool Mydumper 0.9.1 Packages

The latest Mydumper 0.9.1 version has been around for a while, but we didn’t get to build packages for it. New features and bug fixes were announced in Mydumper 0.9.1 Release Note.

Briefly, the new features are:

  • Full schema support for Mydumper/Myloader
  • Locking reduce options
  • GTIDs and Multisource Slave
  • Myloader single database restore
  • Bug fixes

Good news is that we now build packages not only for CentOS but for Ubuntu and Debian, too. Here’s the full list of supported systems:

  • CentOS 6 and 7
  • Ubuntu trusty and xenial
  • Debian jessie and stretch

The packages are distributed via TwinDB Repository. To install it, run one of following:

On CentOS:

curl -s https://packagecloud.io/install/repositories/twindb/main/script.rpm.sh | sudo bash

Or on Ubuntu/Debian:

curl -s https://packagecloud.io/install/repositories/twindb/main/script.deb.sh | sudo bash

For Chef, Puppet and others check out TwinDB Repository Installation Instructions.

Building Packages In Travis-CI

We use Travis-CI a lot for our projects. It runs unit and integrations tests for us, as well as builds packages.

Last time we built mydumper packages manually, it was two years ago. This isn’t right, so we decided to use Travis-CI for mydumper packages as well.

Travis-CI slaves run Ubuntu trusty, so if we need to build packages for other operating systems, we need to use Docker. Basically, we start a worker for each operating system and run make package-${PLATFORM} on each of them. The artifacts then are uploaded to the TwinDB Repository.

sudo: required
env:
  matrix:
    - PLATFORM=centos DISTRO=el OS_VERSION=6 DOCKER_IMAGE=centos:centos6
    - PLATFORM=centos DISTRO=el OS_VERSION=7 DOCKER_IMAGE=centos:centos7
    - PLATFORM=debian DISTRO=debian OS_VERSION=stretch DOCKER_IMAGE=debian:stretch
    - PLATFORM=debian DISTRO=debian OS_VERSION=jessie DOCKER_IMAGE=debian:jessie
    - PLATFORM=ubuntu DISTRO=ubuntu OS_VERSION=trusty DOCKER_IMAGE=ubuntu:trusty
    - PLATFORM=ubuntu DISTRO=ubuntu OS_VERSION=xenial DOCKER_IMAGE=ubuntu:xenial

services:
  - docker

script:
  - make package-${PLATFORM}

before_deploy:
  - ls -la
  - sudo find build  -name "*.gz" -delete
  - sudo find build  -name "*.dsc" -delete

deploy:
  provider: packagecloud
  repository: main
  username: twindb
  token:
    secure: "THfnc8jCVfSdcBM11WXbnDozqnn8HhgSGOqXit0u13nHvlW2C+8oBMyR0dEWVarZBISU+2rBrq2ESrNyWypNcPaA7W3sGObhbjjG2u8/F0I/lbKpQLs5sKVvo2gQadkGmgY2JDPVrp9yBABNpczz6d8fsFblJ56LjY2nPi7j43vLhtQoTdqxOj81fjc6kYCFRYMXLSuvkzcCbxyCen0V86hjE6sda4BlWSxaMAr+SUNXnH2bXD5uJm6YWwMjdpzO/2+mlGyPSB3PEp4qoAwchz5E4P+H1oeOr0WWDVeGcjo3/si3qs3mUKLEdk9/mUpzjzehS0vv9el3lpO/jsWmqZl6JieucMD1jVlZ/2OTB6O5rL50nupFqb0SGO+YgkmS4QgdxjVr+XWf+lnDzGg5al98d+pGNgrU1APmSXNAvMD0pCT6HTtv2SLphEUO2+REwjdA8S+rzs9fGV9I7Jg7IdjZrWRfDYbbCk+knEuoq95aXOS5A0kG1yytA21azLw8hi+qvA3n+bG1DZrQMJjIb5OROX/Ua/OumewqTaaSe9Eoh+AUTrIHJZzo6QMoRLverqITV5GWOzidCXxmitBrKi0+VKzdcjdW+DpcNdA+LTejBjqjDC6+dU1Ealcx3XP3DpznEauRw7tdOg0PgqlGUo8NWmjsalwP8Dm7FWPqPa0="
  dist: ${DISTRO}/${OS_VERSION}
  skip_cleanup: true
  # local-dir: build
  on:
      branch: release-0.9.1

The source code of mydumper 0.9.1, as well as scripts to build the packages, you can find on our GitHub. Enjoy.

Previous Post Next Post