slider

Author: Aleksandr Kuzminsky

How we manage WordPress website with Terraform, Chef and GitHub

water drop falling

Our website twindb.com is built on WordPress software and has always been. A while ago we decided the website needs a better look. But not only that. Managing our old website was quite laborious and manual process which goes strongly against our culture at TwinDB to do things right. Few weeks ago we migrated to […]

Read More

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 […]

Read More

How to Backup MySQL 5.7

If you ever tried to backup MySQL 5.7 with Percona Xtrabackup that comes in percona-xtrabackup package most likely you got error message like this:

This happens because percona-xtrabackup actually installs version 2.3 that doesn’t support MySQL 5.7. To take copies from MySQL 5.7 you need to use Percona XtraBackup version 2.4 and higher. Starting from […]

Read More

Building RPM On Travis-CI In Docker Containers

monument

Travis-CI is a crucial component of Continuous Integration/Continuous Deployment. We use it a lot to run unit tests and build/upload Python modules. Recently I had to solve a problem of building RPMs on Travis-CI with Docker containers. In this post I will describe step-by-step how to do that. We distribute our backup tool as RPM packages […]

Read More

Show Differences Found by Pt-Table-Checksum

Louvre Museum

First of all,pt-table-checksum is perfect for checking if the master and its slaves are in-sync. It answers the question “Are the slaves consistent with the master?”. However, if they’re not, pt-table-checksum doesn’t actually tell you what exactly is wrong.

Frompt-table-checksum to pt-table-sync Nevertheless, pt-table-sync may give you a partial answer. It can print SQL statements to sync the replication […]

Read More

Working with CloudFlare DNS in python

stones

Last week I wrote about aDNS discovery feature in Etcd. As a step in the whole process we need to create DNS records in twindb.com zone. CloudFlare provides rich API to work with it. We wrapped it into a Python module twindb_cloudflare and opensourced it: Source code: https://github.com/twindb/twindb_cloudflare Documentation: https://twindb-cloudflare.readthedocs.io PyPi package: https://pypi.python.org/pypi/twindb_cloudflare In the […]

Read More

Setting Up Etcd Cluster With DNS Discovery

сelestial fireworks

Setting up an Etcd cluster with DNS discovery may be challenging. First of all, there are several building blocks: Etcd – a distributed key value store Amazon EC2 – a cloud computing provider Cloudflare – a DNS provider Chef – for configuring individual nodes Each of them has its pitfalls, but we will guide you through whole […]

Read More