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.
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.
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.
| 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.
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.