Encrypt a MariaDB database table

NOTE: We are in the process of modifying the configuration for many Bitnami stacks. On account of these changes, the file paths and commands stated in this guide may change depending on whether your Bitnami stack uses MySQL or MariaDB. To identify which database server is used in your stack, run the command below:

 $ test -d /opt/bitnami/mariadb && echo "MariaDB" || echo "MySQL"

The output of the command indicates which database server (MySQL or MariaDB) is used by the installation, and will allow you to identify which guides to follow in our documentation for common database-related operations.

NOTE: Table encryption support is only available for InnoDB tables stored as individual files (the innodb_file_per_table option, enabled by default).

Perform the steps below on each node of the cluster to configure table encryption support:

  • Edit the /opt/bitnami/mariadb/conf/my.cnf configuration file.

  • Add the following lines to the configuration file, within the [mysqld] section, to activate the keyring_file plugin:

    NOTE: The keyring file will be automatically created in the above location when the first table is encrypted. Keep a backup of this file as the data stored in the encrypted tables cannot be recovered without it.

  • Restart the MariaDB server:

      $ sudo service bitnami restart mariadb
  • Confirm that the keyring_file plugin is active by running the query below in the client:


You should now be able to create an encrypted table by adding the ENCRYPTED=‘Y’ clause to any CREATE TABLE command. Here is an example:

CREATE TABLE mytable (id INT, value VARCHAR(255)) ENCRYPTION='Y'

Tables which are not already encrypted can be encrypted by using an ALTER TABLE command, such as the one below:


So long as all the cluster nodes are configured to support table encryption, changes to encrypted tables on the primary node will replicate as normal to the replicas. The keyring file will also be automatically created on the replicas if it does not exist.

Last modification February 9, 2023