AWS Blog

Amazon RDS Update – MariaDB is Now Available

by Jeff Barr | on | in Amazon Relational Database Service, AWS re:Invent | | Comments

We launched the Amazon Relational Database Service (RDS) almost six years ago, in October of 2009. The initial launch gave you the power to launch a MySQL database instance from the command line. From that starting point we have added a multitude of features, along with support for the SQL Server, Oracle Database, PostgreSQL, and Amazon Aurora databases. We have made RDS available in every AWS region, and on a very wide range of database instance types. You can now run RDS in a geographic location that is well-suited to the needs of your user base, on hardware that is equally well-suited to the needs of your application.

Hello, MariaDB
Today we are adding support for the popular MariaDB database, beginning with version 10.0.17. This engine was forked from MySQL in 2009, and has developed at a rapid clip ever since, adding support for two storage engines (XtraDB and Aria) and other leading-edge features. Based on discussions with potential customers, some of the most attractive features include parallel replication and thread pooling.

As is the case with all of the databases supported by RDS, you can launch MariaDB from the Console, AWS Command Line Interface (CLI), AWS Tools for Windows PowerShell, via the RDS API, or from a CloudFormation template.

I started out with the CLI and launched my database instance like this:

$ rds-create-db-instance jeff-mariadb-1 \
  --engine mariadb \
  --db-instance-class db.r3.xlarge \
  --db-subnet-group-name dbsub \
  --allocated-storage 100 \
  --publicly-accessible false \
  --master-username root --master-user-password PASSWORD

Let’s break this down, option by option:

  • Line 1 runs the rds-create-db-instance command and specifies the name (jeff-mariadb-1) that I have chosen for my instance.
  • Line 2 indicates that I want to run the MariaDB engine, and line 3 says that I want to run it on a db.r3.xlarge instance type.
  • Line 4 points to the database subnet group that  I have chosen for the database instance. This group lists the network subnets within my VPC (Virtual Private Cloud) that are suitable for my instance.
  • Line 5 requests 100 gigabytes of storage, and line 6 specifies that I don’t want the database instance to have a publicly accessible IP address.
  • Finally, line 7 provides the name and credentials for the master user of the database.

The command displays the following information to confirm my launch:

DBINSTANCE  jeff-mariadb-1  db.r3.xlarge  mariadb  100  root  creating  1  ****  db-QAYNWOIDPPH6EYEN6RD7GTLJW4  n  10.0.17  general-public-license  n  standard  n
      VPCSECGROUP  sg-ca2071af  active
SUBNETGROUP  dbsub  DB Subnet for Testing  Complete  vpc-7fd2791a
      SUBNET  subnet-b8243890  us-east-1e  Active
      SUBNET  subnet-90af64e7  us-east-1b  Active
      SUBNET  subnet-b3af64c4  us-east-1b  Active
      PARAMGRP  default.mariadb10.0  in-sync
      OPTIONGROUP  default:mariadb-10-0  in-sync

The RDS CLI includes a full set of powerful, high-level commands, all documented here. For example, I can create read replicas (rds-create-db-instance-read-replicas) and take snapshot backups (rds-create-db-snapshot) in minutes.

Here’s how I would launch the same instance using the AWS Management Console:

Get Started Today
You can launch RDS database instances running MariaDB today in all AWS regions. Supported database instance types include M3 (standard), R3 (memory optimized), and T2 (standard).