slider

Author: Aleksandr Kuzminsky

How we manage WordPress website with Terraform, Chef and GitHub

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 is around for a while but we didn’t get to build packages for it. New features and bugfixes 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 Bugfixes. Good news we now build […]

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

Travis-CI is a crucial component in Continuous Integration/Continuous Deployment. We use it a lot to run unit tests and building/uploading 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

pt-table-checksum perfectly solves problem of checking if master and its slaves are in-sync. It answers the question “Are the slaves consistent with the master?”. However if the answer is “No” pt-table-checksum doesn’t actually tell what exactly is different.

pt-table-sync may give a partial answer. It can print SQL statements to sync the replication cluster. Reading the SQL […]

Read More

Working with CloudFlare DNS in python

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

Setting up an etcd cluster with DNS discovery may be challenging. There are several building blocks: Etcd – a distributed key value store Amazon EC2 – cloud computing provider Cloudflare – DNS provider Chef – for configuring individual nodes Each of them has their pitfalls, we will guide you through whole process. DNS discovery Any clustered system needs […]

Read More