Posts Tagged ‘MySQL’

MySQLNoSQLCloud 2014 – Edition #3

Good morning buenos airesI’ve enjoyed visiting Buenos Aires once a year for the MySQLNoSQLCloud event, put together by the awesome people at Binlogic (in particular, their proprietor Santiago Lertora). It’s happening again in 2014, which by my count is the third edition, and there’s a twist: Buenos Aires on 13 & 14 November, and Cordoba on 17 November. It’s never been held in Cordoba before (like an annex event), so I think this could be extremely exciting.

If you’re looking to speak, send Santiago a note at events@binlogic.com (or leave a message here). I’ll put you in touch with him. If you’re looking to sponsor, you get attendees from all over Latin America.

Per query variable settings in MySQL/Percona Server/WebScaleSQL

Recently there was a discussion on the webscalesql mailing list started by Chip Turner on a proposed change to the MAX_STATEMENT_TIME patch. This feature has been known as per query variable settings (WL#681) and even shipping in Percona Server 5.6 as per-query variable statement.

This feature has piqued my interest since 2009, when the MySQL project (then owned by Sun Microsystems) participated in Google Summer of Code 2009, and we got code from Joseph Lukas to do just that (see his tree on Launchpad – lp:~jlukas79/+junk/mysql-server).

So code has been floating around since 2009. It never made it into a shipping release of any MySQL-based distribution till 24 October 2013 when Percona Server 5.6.14-62.0 was released. Percona’s syntax implementation was as suggested in WL#681. This got me curious as to if a feature is already shipping in a distribution of MySQL, what is the WebScaleSQL answer to things – is there a look at other branches or is compatibility from a user/DBA perspective only with focus on upstream?

I got my answer from Steaphan Greene. Very sensible, and a great direction to see how the companies involved can influence upstream MySQL and quite obviously the downstream distributions. It is of course great to note that this syntax improvement will probably be in MySQL 5.7.5 DMR (it already is in 5.7.4 DMR).

For what it’s worth, this feature works well alongside server-side statement timeouts, which Percona Server 5.6 implements (as an alpha quality feature) via the Twitter patch of Davi Arnaut. The MySQL team at Oracle has of course been listening, and in MySQL 5.7.4 DMR (release notes) they too have implemented this feature (WL#6936). Kudos!

Update (6 May 2014): Morgan Tocker has opened up mysql#72540.

MySQL Central @ OpenWorld

Via Dave Stokes, MySQL Community Manager:

MySQL Central is truly a MySQL Community show. This year there are five tracks and the majority of the sessions in all the tracks except Performance and Scalability had many more submissions from the MySQL Community than from Oracle/MySQL.

This is impressive. There are about 200 submissions, 50 slots, a 1/4 chance of a talk getting in, and if we follow this logic we will see that MySQL Central @ OpenWorld will truly be a community event (in previous years, majority of the talks came from the MySQL team at Oracle). I can’t wait to see the final program, but as an attendee to the past two MySQL Connect events, I am looking forward to seeing this event grow and be a part of the main program (i.e. not the weekend before).

As Dave says, register now. Though I presume many will wait for the program first. Apparently it is mid-June when speakers will be notified so one can presume an agenda should be out by the end of that month.

MySQL 5.6 + GTID & MariaDB 10 replication

While at the keynote of Tomas Ulin at Percona Live MySQL Conference & Expo Santa Clara 2014, he asked the audience what they were running, and most of the audience was on MySQL 5.5 while about 15% of the audience was on MySQL 5.6. This number is steadily increasing I’m sure, so one thing that becomes important is that people will probably start turning on Global Transaction Identifiers (GTIDs). 

As you may already know, MariaDB 10 has a different implementation of Global Transaction ID. To me, this poses a problem in a mixed use environment (or even a migration scenario). Which is why MDEV-4487 is so important: it is a feature request to allow replication from MySQL 5.6+ when GTID is enabled on the master

If you think the issue is important, you can vote and watch the issue on JIRA. I for one think this should be fixed for 10.0.11 or 10.0.12 and not wait for the 10.1 timeframe. Best not to comment here, focus on the JIRA request, MDEV-4487.

MySQL related IRC discussion channels

There are many MySQL related IRC discussion channels as the ecosystem itself grows. I join the following. Are there any that I’m missing?

Freenode (irc.freenode.net):

  • #mysql – main channel for all kinds of end user MySQL related discussions (the noisiest of the lot, naturally)
  • #maria – main channel for all kinds of MariaDB related discussions
  • #webscalesql – for all kinds of WebScaleSQL discussions
  • #percona – main channel for all kinds of Percona related discussions
  • #tokutek – main channel for Tokutek discussions (TokuDB or TokuMX)
  • SkySQL-specific channels: #maxscale and #mariadb-mgr

OFTC (irc.oftc.net):

  • #debian-mysql – for all kinds of Debian MySQL related bits (packaging, bugs, etc.)

Ubuntu 14.04 – some MySQL ecosystem notes

Following my previous post on the launch, I just rolled Ubuntu 14.04 LTS on an Amazon EC2 t1.micro instance (not something you expect to run a database server on, for sure – 1 vCPU, 0.613GiB RAM). If you do an apt-cache search mysql you get 435 return result sets with the default configuration (trusty: main & universe).

If you do apt-get install mysql-server, you get MySQL 5.5. You enter the password of choice, and before you know it, MySQL is installed (a SELECT VERSION() will return 5.5.35-1ubuntu1).

Next you decide to install MariaDB. I run an apt-get install mariadb-server. It pulls in libjemalloc (for TokuDB) and I expect future releases to ship this engine by default. You enter the password, and you get a new message (as pictured).

MariaDB Ubuntu 14.04 LTS
 

I verify my test database that I created exists. It does. A SELECT VERSION() returns 5.5.36-MariaDB-1. The innodb_version returns 5.5.36-MariaDB-33.0.

I’m curious about MySQL 5.6 now. So I run apt-get install mysql-server-5.6. Not so straightforward. 

start: Job failed to start
invoke-rc.d: initscript mysql, action "start" failed.
dpkg: error processing package mysql-server-5.6 (--configure):
 subprocess installed post-installation script returned error exit status 1
Setting up mysql-common-5.6 (5.6.16-1~exp1) ...
Processing triggers for libc-bin (2.19-0ubuntu6) ...
Errors were encountered while processing:
 mysql-server-5.6
E: Sub-process /usr/bin/dpkg returned an error code (1)

Looks like MySQL 5.6 is more memory hungry… I edited /etc/mysql/my.cnf to ensure that innodb_buffer_pool_size = 64M (I increased this to 128M and it worked too) was set (there was nothing in the default config) and re-ran apt-get install mysql-server-5.6 and it started. My test database was still around ;-)

I wanted to make sure that MySQL 5.6 isn’t more memory hungry just on that instance so I created yet another clean t1.micro instance and did an apt-get install mysql-server-5.6. Same error. Reported lp#1311387.

Nothing to report in particular about Percona – 5.5.34 Percona XtraDB Cluster (GPL), Release 31.1 (Ubuntu), wsrep_25.9.rXXXX. One thing is for sure – if you’re playing around with the ecosystem, installs and upgrades aren’t exactly straightforward.


i