Running MariaDB in a Docker container

Virtualisation has been a very popular technique for both development and production systems for many years. It allows multiple software environments to run on the same physical machine.

Containerisation takes this idea even further. It allows you to segment your software environment down to the level of individual software packages. This means you can install multiple copies of MariaDB on one system, and run them in parallel while keeping them isolated from each other.

This is a very powerful technique when doing development because you can quickly test different versions of the software. It also allows you to experiment with clusters: you can create a complete Galera database cluster on a single computer! Read more

My first week, Looking Forward

First of all, thank you for your warm words of welcome – coming from so many people across different media, I think this is a very positive sign for working with the organisations and individuals within the MariaDB community.

Regardless of the situation, a change like this, or actually the person that comes in, is often described as a “new broom”.  So I’m a new broom.  This can provide a fresh start throughout, with an opportunity to clean up some stuff that is outdated, improve a few things, and execute new initiatives.

In my first week as CEO I’ve been talking with all our staff and of course reading  up on many things.  Read more

Debian 9 released with MariaDB as the only MySQL variant

The Debian project has today announced their 9th release, code named “Stretch”. This is a big milestone for MariaDB, because the release team decided to ship and support only one MySQL variant in this release, and MariaDB was chosen over MySQL.

This is prominently mentioned in the press release about Debian 9 and more information can be found in the Debian release notes. We have also written an article in the Knowledge Base about MySQL to MariaDB migration in Debian. Everything has been designed to work so that the upgrade from MySQL 5.5 in Debian 8 to MariaDB 10.1 in Debian 9 should be automatic and smooth. Read more

The State of SSL in MariaDB

Usually when one says “SSL” or “TLS” it means not a specific protocol but a family of protocols. Wikipedia article has the details, but in short — SSL 2.0 and SSL 3.0 are deprecated and should not be used anymore (the well-known POODLE vulnerability exploits the flaw in SSL 3.0). TLS 1.0 is sixteen years old and while it’s still being used, new security standards (for example PCI DSS v3.1) require TLS 1.1 or, preferably, TLS 1.2.

MySQL used to support TLS 1.0 since 2001. Which means MariaDB supported it from the day one, and never supported weaker SSL 2.0 or SSL 3.0. Read more

MariaDB Talks at Percona Live Data Performance Conference 2016

The Percona Live Data Performance Conference 2016 isn’t until 18-21 April 2016, but community voting is now open. So if you’re going, and want to see lots of MariaDB talks, please click on the buttons below and vote!

You have to be logged in to the Percona site to vote. Once logged in, scroll to the bottom of the talk description page, assign the number of stars that represents your interest in the talk (5 is the best) and click on the “Submit Vote” button. That’s all there is to it.

Here are all of the proposed talks I know of that are either specifically MariaDB-related or are by employees of either the MariaDB Foundation or MariaDB Corporation. Read more

InnoDB holepunch compression vs the filesystem in MariaDB 10.1

InnoDB holepunch experiments

After excellent blogs by Mark Callaghan (see links below), I decided to use some of my time to experiment how different filesystems behave if the holepunch feature is used in MariaDB 10.1. First of all, MariaDB 10.1 does not use holepunch by default even if a table is page compressed (a term used in MariaDB). The holepunch feature in MariaDB is enabled with the innodb-use-trim=1 configuration variable and naturally requires support of the fallocate system call with the FALLOC_FL_PUNCH_HOLE and FALLOC_FL_KEEP_SIZE parameters. Support for these is checked during the cmake build phase.

I used CentOS Linux release 7.1.1503 (Core) using the 3.10.0-229.el7.x86_64 Linux kernel and few SSD drives in a RAID-0 setup (Intel X25-E Extreme SSDSA2SH032 G1GN 2.5-inch 32GB SATA II SLC Internal Solid State Drive (SSD)). Read more

MariaDB Connector/J failover support – case Amazon Aurora

MariaDB Connector/J has evolved a lot during the year. In this post I will talk about the failover capabilities in the connector and give some guidance on how to use them in some certain cases. One other important new feature that I’ll cover in a later article is the fact that MariaDB Connector/J can do load balancing over several servers now as well.

To start off with we’ll need the connector itself. Do either of the following to get version 1.2.3 of MariaDB Connector/J which is the newest stable version as of writing:

Read more

MariaDB: InnoDB foreign key constraint errors

Introduction

A foreign key is a field (or collection of fields) in one table that uniquely identifies a row of another table. The table containing the foreign key is called the child table, and the table containing the candidate key is called the referenced or parent table. The purpose of the foreign key is to identify a particular row of the referenced table. Therefore, it is required that the foreign key is equal to the candidate key in some row of the primary table, or else have no value (the NULL value). This is called a referential integrity constraint between the two tables. Read more