MariaDB#
MariaDB is the open source successor to MySQL.
The Lagoon MariaDB
image Dockerfile. Based on the official packages mariadb
and mariadb-client
provided by the alpine:3.8
image.
This Dockerfile is intended to be used to set up a standalone MariaDB database server.
Lagoon adaptions#
This image is prepared to be used on Lagoon. There are therefore some things already done:
- Folder permissions are automatically adapted with
fix-permissions
, so this image will work with a random user. readiness-probe.sh
script to check when MariaDB container is ready.
Included tools#
mysqltuner.pl
- Perl script useful for database parameter tuning.mysql-backup.sh
- Script for automating the daily MySQL backups on development environment.pwgen
- Utility to generate random and complex passwords.
Included my.cnf
configuration file#
The image ships a default MariaDB configuration file, optimized to work on Lagoon. Some options are configurable via environments variables (see Environment Variables).
Environment Variables#
Environment variables defined in MariaDB base image:
Environment Variable | Default | Description |
---|---|---|
MARIADB_DATABASE |
lagoon | Database name created at startup. |
MARIADB_USER |
lagoon | Default user created at startup. |
MARIADB_PASSWORD |
lagoon | Password of default user created at startup. |
MARIADB_ROOT_PASSWORD |
Lag00n | MariaDB root user's password. |
MARIADB_CHARSET |
utf8mb4 | Set the server charset. |
MARIADB_COLLATION |
utf8mb4_bin | Set server collation. |
MARIADB_MAX_ALLOWED_PACKET |
64M | Set the max_allowed_packet size. |
MARIADB_INNODB_BUFFER_POOL_SIZE |
256M | Set the MariaDB InnoDB buffer pool size. |
MARIADB_INNODB_BUFFER_POOL_INSTANCES |
1 | Number of InnoDB buffer pool instances. |
MARIADB_INNODB_LOG_FILE_SIZE |
64M | Size of InnoDB log file. |
MARIADB_LOG_SLOW |
empty | Variable to control the save of slow queries. |
MARIADB_LOG_QUERIES |
empty | Variable to control the save of ALL queries. |
BACKUPS_DIR |
/var/lib/mysql/backup | Default path for databases backups. |
MARIADB_DATA_DIR |
/var/lib/mysql | Path of the mariadb data dir, be careful, changing this can occur data loss! |
MARIADB_COPY_DATA_DIR_SOURCE |
unset | Path which the entrypoint script of mariadb will use to copy into the defined MARIADB_DATA_DIR , this can be used for prepopulating the MariaDB with a database. The scripts expects actual MariaDB data files and not a sql file! Plus it only copies data if the destination does not already have a mysql datadir in it. |
If the LAGOON_ENVIRONMENT_TYPE
variable is set to production
, performances are set accordingly by using MARIADB_INNODB_BUFFER_POOL_SIZE=1024
and MARIADB_INNODB_LOG_FILE_SIZE=256
.