Replicating from a higher to lower MySQL version

As we know, replication is only supported officially between consecutive major MySQL versions, and only from a lower version master to a higher version slave. This means for example, the following scenario is supported: 5.6 master –> 5.7 slave while these…

Read More >

Insights on the Sysbench 1.0 Release

If you’ve ever had to evaluate server performance, you likely know of sysbench, a performance benchmark project started by Peter Zaitsev with continued development by Alexey Kopitov. The last official release was the version 0.4, which is found in almost…

Read More >

Multi Tb migration Using mydumper

In this post I will explain how to transfer a multi terabyte size database between two MySQL instances using mydumper, which is a logical backup and restore tool that works in parallel. I will also cover the case where you need…

Read More >

Ansible and AWS Automation

Overview The goal was to create and manage a MySQL RDS instance and learn how to control AWS resources by using Ansible. With Ansible interacting with AWS it’s best to determine how hard or easy it is to build and…

Read More >

Understanding MySQL Isolation Levels: Repeatable-read

Isolation levels are a rare subject in MySQL literature. The documentation provides a terse description and focuses mainly on locking issues, but does not discuss the semantics of each isolation level. This is not only a problem that affects MySQL…

Read More >

Using Transportable Tablespaces with Partitioned Tables

Overview In this post I will explain how to transfer a partitioned table using transportable tablespaces on MySQL 5.6. Note that the operation is not officially supported until MySQL 5.7, as the discard tablespace operation will fail if it is…

Read More >

Experiments with MySQL 5.7’s Online Buffer Pool Resize

One of the interesting features introduced in MySQL 5.7 is that innodb_buffer_pool_size is a dynamic variable (since 5.7.5, to be more specific). Yet, past experience tells us that just because a variable is dynamic, it does not make it is…

Read More >

Asynchronous Replication from MySQL Cluster

MySQL Cluster is a highly available, distributed, shared-nothing database with very interesting performance characteristics for some workloads. Among other features, it supports automatic sharding and allows us to bypass the SQL layer if we don’t need it, via the NDB…

Read More >

MySQL may return results in non-deterministic order with ‘order by’

Whenever we want a query’s results sorted, you may think of using the clause “order by.” You are correct: most of the time, MySQL will return the results in expected order with “order by.” Be careful, though. Sometimes MySQL may return…

Read More >

Customizing pt-stalk to Capture the Diagnostics Data You Really Need

Valeriy Kravchuk’s great recent post on using oprofile to profile MySQL mentioned how pt-stalk, the script from Percona Toolkit to capture diagnostics data based on a detected condition, currently does not support the new operf comand, and relies instead on the deprecated and soon…

Read More >
Page 1 of 1912345...10...Last Page »