There are many reasons for wanting a small MySQL database server: You’re a uni student who wants to learn the SQL language better and needs a mini-testbox You’re a Windows user who wants to play around with Percona Server on Linux You’re a corporate application developer who wants a small SQL development & test box [...]
Percona Server on the Raspberry Pi: Your own MySQL Database Server for Under $80
CentOS 5.8 users: your UTF-8 data is in peril with Perl MySQL
CentOS 5.8 and earlier use Perl module DBD::mysql v3.0007 which has a bug that causes Perl not to flag UTF-8 data as being UTF-8. Presuming that the MySQL table/column is using UTF-8, and the Perl MySQL connection is also using UTF-8, then a correct system returns: PV = 0x9573840 "\343\203\213 \303\250"\0 [UTF8 "\x{30cb} \x{e8}"] That’s a Devel::Peek inside a Perl scalar variable which [...]
Mystery Performance Variance with MySQL Restarts
Based on a lot of surprising comments about my MySQL 5.5 vs 5.6 performance post I decided to perform deeper investigation to see where my results could go possibly wrong. I had set up everything to be as simple as possible to get maximally repeatable results. I did Read Only ran which is typically a [...]
How to create/restore a slave using GTID replication in MySQL 5.6
MySQL 5.6 is GA! Now we have new things to play with and in my personal opinion the most interesting one is the new Global Transaction ID (GTID) support in replication. This post is not an explanation of what is GTID and how it works internally because there are many documents about that: http://dev.mysql.com/doc/refman/5.6/en/replication-gtids-concepts.html One [...]
Can’t Create Thread: Errno 11 (A Tale of Two Ulimits)
Recently some of my fellow Perconians and I have noticed a bit of an uptick in customer cases featuring the following error message:
1 2 | SQLSTATE[HY000] [1135] Can't create a new thread (errno 11); if you are not out of available memory, you can consult the manual for a possible OS-dependent bug. |
The canonical solution to this issue, if you do a bit of Googling, is to increase the number of processes / threads available to the MySQL user, typically by adding a [...]
How to start a Percona XtraDB Cluster
Before version 5.5.28 of Percona XtraDB Cluster, the easiest way was to join the cluster using wsrep_urls in [mysqld_safe] section of my.cnf. So with a cluster of 3 nodes like this : node1 = 192.168.1.1 node2 = 192.168.1.2 node3 = 192.168.1.3 we defined the setting like this :
1 | wsrep_urls=gcomm://192.168.1.1:4567,gcomm://192.168.1.2:4567,gcomm://192.168.1.3:4567 |
With that line above in my.cnf [...]
MySQL 5.6: Improvements in the Nutshell
Preparing for my talk for Percona MySQL University in Raleigh,NC, Tuesday 29th of January I have created the outline of improvements available in MySQL 5.6 which I thought was worth sharing to give a feel for how massive work have been done for this release in variety of areas. I’m sure the list is not [...]
How does MySQL Replication really work?
While we do have many blog posts on replication on our blog, such as on replication being single-threaded, on semi-synchronous replication or on estimating replication capacity, I don’t think we have one that covers the very basics of how MySQL replication really works on the high level. Or it’s been so long ago I can’t [...]
Be productive with the MySQL command line
Even if you are using a GUI tool to connect to your MySQL servers, one day or another, you will have to deal with the command line. So it is nice to know a few tips that can really make your work easier. Note: The commands below are only available for Unix/Linux. Using pager Most [...]

