Skip to main content

MariaDB

The database, and the default for Drupal, Laravel and WordPress

The database. A Drupal, Laravel or WordPress project gets MariaDB unless it asks for MySQL or PostgreSQL instead; a PHP, Go or Node.js project gets a database only by asking.

It can run on the web server or move onto a machine of its own — see Shapes. The service is the same either way, and so is how your application reaches it.

Transactions run at READ-COMMITTED, which is what Drupal recommends.

#Connecting to it

Read the environment rather than committing credentials:

DB_HOST      the service name
DB_PORT      3306
DB_DRIVER    mysql
DB_NAME
DB_USER
DB_PASSWORD
DATABASE_URL all of it as one connection string

The database, its user and its password are made for the environment and never change. See Variables for the full list, and settings.vallic.php for a Drupal site, which reads all of it for you.

#Changing it

A version change is one way: a database that has opened its files with a newer MariaDB will usually refuse an older one. And vallic.yaml cannot change which database you run — moving from one to another means moving everything in it, which is a migration rather than a setting. Ask support.

#Versions

Version Status
11.8 Supported, and the default
11.4 Supported
10.11 Supported

Pin the version, not the build: name 11.8 and the platform matches it to the current build, so a security rebuild reaches you without anybody editing a repository.

The version you name is the one your environment runs from the next deploy. This service keeps data, and not every version can read another's — before you change it, read Changing a service's version.

#What you can change

In vallic.yaml — what each one does is on Service settings:

services:
  - mariadb:
      version: '11.8'
      environment:
        MYSQL_MAX_ALLOWED_PACKET: …
        MYSQL_INNODB_BUFFER_POOL_SIZE: …
        MYSQL_MAX_CONNECTIONS: …
        MYSQL_SLOW_QUERY_LOG: …
        MYSQL_LONG_QUERY_TIME: …

Anything not on this list refuses the deploy, naming the variable — rather than being accepted and quietly ignored.