October 30, 2014

High Availability with mysqlnd_ms on Percona XtraDB Cluster

This is the second part of my series on High Availability with mysqlnd_ms. In my first post, “Simple MySQL Master HA with mysqlnd_ms,” I showed a simple HA solution using asynchronous MySQL replication. This time we will see how to leverage an all-primary cluster where you can write to all nodes. In this post I used […]

Simple MySQL Master HA with mysqlnd_ms

I had the pleasure of presenting to the PHP Users Group Philippines a few days ago about mysqlnd_ms. The mysqlnd plugin, MySQL Master Slave, is a transparent layer on top of mysqlnd extension. This allows you to do read-write splitting and slave reads load balancing without needing to change anything from your application. But do […]

High Availability with MySQL Fabric: Part I

In our previous post, we introduced the MySQL Fabric utility and said we would dig deeper into it. This post is the first part of our test of MySQL Fabric’s High Availability (HA) functionality. Today, we’ll review MySQL Fabric’s HA concepts, and then walk you through the setup of a 3-node cluster with one Primary and two […]

How to find bugs in MySQL

Finding bugs in MySQL is not only fun, it’s also something I have been doing the last four years of my life. Whether you want to become the next Shane Bester (who is generally considered the most skilled MySQL bug hunter worldwide), or just want to prove you can outsmart some of the world’s best […]

Using the new spatial functions in MySQL 5.6 for geo-enabled applications

Geo-enabled (or location enabled) applications are very common nowadays and many of them use MySQL. The common tasks for such applications are: Find all points of interests (i.e. coffee shops) around (i.e. a 10 mile radius) the given location (latitude and longitude). For example we want to show this to a user of the mobile […]

Checking B+tree leaf nodes list consistency in InnoDB

If we have InnoDB pages there are two ways to learn how many records they contain: PAGE_N_RECS field in the page header Count records while walking over the list of records from infimum to supremum In some previous revision of the recovery tool a short summary was added to a dump which is produced by […]

10 years of MySQL User Conferences

In preparing for this month’s Percona Live MySQL Conference and Expo, I’ve been reminiscing about the annual MySQL User Conference’s history – the 9 times it previously took place in its various reincarnations – and there are a lot of good things, fun things to remember. 2003 was the year that marked the first MySQL user conference […]

Where to get a BZR tree of the latest MySQL releases

I just posted this to the MySQL Internals mailing list: Hi all, Like many of you, I’m disappointed that the bzr trees for MySQL are out of sync with the tarball source and binary releases from Oracle. Since Oracle has been silent on this, and this is a recurring problem, I’ve decided to attempt to […]

Should we proclaim MySQL Community Edition Dead ?

We were chatting with Jeremy Cole today and he brought to my attention last version of MySQL Community Eddition (5.0.51) was released in November 2007 – over 7 months ago. MySQL 5.0.51a and MySQL 5.0.51b security fixes were released but these can’t be considered proper releases. If we look at the old Kaj’s Announcement we […]

MySQL sources from development tree

I just want to write few tips how to get MySQL from development BitKeeper tree, as there are several tricks. First of all you need a fresh free client – bk-client2.0 http://www.bitkeeper.com/Hosted.Downloading.html . Once you get it, you can clone latest tree: bkf clone bk://mysql.bkbits.net/mysql-5.0 mysql-5.0 New client supports “changes” command, so you can look […]