MySQL
The MySQL storage provider which supports both MySQL and MariaDB.
Version support
When using MySQL or MariaDB we recommend using the latest version that is officially supported by the MySQL or MariaDB developers. We also suggest checking out PostgreSQL as an alternative.
The oldest versions that have been tested are MySQL 5.7 and MariaDB 10.6.
If using MySQL 5.7 or MariaDB 10.6 you may be required to adjust the explicit_defaults_for_timestamp
setting. This
will be evident when the container starts with an error similar to Error 1067: Invalid default value for 'exp'
. You
can adjust this setting in the mysql.cnf file like so:
[mysqld]
explicit_defaults_for_timestamp = 1
Configuration
storage:
encryption_key: a_very_important_secret
mysql:
host: 127.0.0.1
port: 3306
database: authelia
username: authelia
password: mypassword
timeout: 5s
Options
encryption_key
See the encryption_key docs.
host
The database server host.
If utilising an IPv6 literal address it must be enclosed by square brackets and quoted:
host: "[fd00:1111:2222:3333::1]"
port
The port the database server is listening on.
database
The database name on the database server that the assigned user has access to for the purpose of Authelia.
username
The username paired with the password used to connect to the database.
password
Important Note: This can also be defined using a secret which is strongly recommended especially for containerized deployments.
The password paired with the username used to connect to the database.
It’s strongly recommended this is a Random Alphanumeric String with 64 or more characters and the user password is changed to this value.
timeout
The SQL connection timeout.