diff --git a/pom.xml b/pom.xml
index 0473bb9f0fde2e9d79be280fd239567978358312..ff865eef30af70600b5f99e0cb0686caff3737e3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -94,12 +94,17 @@
     <mysql.groupId>mysql</mysql.groupId>
     <mysql.artifactId>mysql-connector-java</mysql.artifactId>
     <mysql.version>5.1.48</mysql.version>
+    <mariadb.groupId>org.mariadb.jdbc</mariadb.groupId>
+    <mariadb.artifactId>mariadb-java-client</mariadb.artifactId>
+    <mariadb.version>2.6.0</mariadb.version>
     <derby.groupId>org.apache.derby</derby.groupId>
     <derby.artifactId>derby</derby.artifactId>
     <derby.version>10.14.2.0</derby.version>
     <pgsql.groupId>org.postgresql</pgsql.groupId>
     <pgsql.artifactId>postgresql</pgsql.artifactId>
     <pgsql.version>42.2.12</pgsql.version>
+    <oracle.groupId>com.oracle.ojdbc</oracle.groupId>
+    <oracle.artifactId>ojdbc8</oracle.artifactId>
     <oracle.version>19.3.0.0</oracle.version>
     <mariadb.version>2.3.0</mariadb.version>
 
diff --git a/xwiki-platform-core/xwiki-platform-test/xwiki-platform-test-docker/pom.xml b/xwiki-platform-core/xwiki-platform-test/xwiki-platform-test-docker/pom.xml
index 475fc2effac5633345ca47e650aa3314926294a5..3345f0957602d5bd7a30e648995c7d147f629135 100644
--- a/xwiki-platform-core/xwiki-platform-test/xwiki-platform-test-docker/pom.xml
+++ b/xwiki-platform-core/xwiki-platform-test/xwiki-platform-test-docker/pom.xml
@@ -92,13 +92,18 @@
     </dependency>
     <!-- Needed by TestContainers, to verify that the DBs are started -->
     <dependency>
-      <groupId>mysql</groupId>
-      <artifactId>mysql-connector-java</artifactId>
+      <groupId>${mysql.groupId}</groupId>
+      <artifactId>${mysql.artifactId}</artifactId>
       <version>${mysql.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.oracle.ojdbc</groupId>
-      <artifactId>ojdbc8</artifactId>
+      <groupId>${mariadb.groupId}</groupId>
+      <artifactId>${mariadb.artifactId}</artifactId>
+      <version>${mariadb.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>${oracle.groupId}</groupId>
+      <artifactId>${oracle.artifactId}</artifactId>
       <version>${oracle.version}</version>
     </dependency>
     <!-- Dependencies for WARBuilder -->
diff --git a/xwiki-platform-core/xwiki-platform-test/xwiki-platform-test-docker/src/main/java/org/xwiki/test/docker/internal/junit5/ConfigurationFilesGenerator.java b/xwiki-platform-core/xwiki-platform-test/xwiki-platform-test-docker/src/main/java/org/xwiki/test/docker/internal/junit5/ConfigurationFilesGenerator.java
index d89058082fd6f37497a758f240d6c6ccb707c1c7..3f1a8bbfef3f74509c4a6d6a8080dc0fd6128d49 100644
--- a/xwiki-platform-core/xwiki-platform-test/xwiki-platform-test-docker/src/main/java/org/xwiki/test/docker/internal/junit5/ConfigurationFilesGenerator.java
+++ b/xwiki-platform-core/xwiki-platform-test/xwiki-platform-test-docker/src/main/java/org/xwiki/test/docker/internal/junit5/ConfigurationFilesGenerator.java
@@ -207,6 +207,18 @@ private Properties getDatabaseConfigurationProperties()
                 null,
                 null,
                 null)));
+        } else if (this.testConfiguration.getDatabase().equals(Database.MARIADB)) {
+            props.putAll(getDBProperties(Arrays.asList(
+                "mariadb",
+                String.format("jdbc:mariadb://%s:%s/xwiki?useSSL=false", ipAddress, port),
+                DB_USERNAME,
+                DB_PASSWORD,
+                "org.mariadb.jdbc.Driver",
+                null,
+                null,
+                null,
+                null)));
+
         } else if (this.testConfiguration.getDatabase().equals(Database.POSTGRESQL)) {
             props.putAll(getDBProperties(Arrays.asList(
                 "pgsql",
diff --git a/xwiki-platform-distribution/pom.xml b/xwiki-platform-distribution/pom.xml
index 3cd4a99321e835719a85c26a5ac2c55120c5f882..998ad24473bdc8519b3ad62e34aa3d97f7b15286 100644
--- a/xwiki-platform-distribution/pom.xml
+++ b/xwiki-platform-distribution/pom.xml
@@ -74,6 +74,7 @@
     <xwiki.db.default.extraMappings>mailsender.hbm.xml</xwiki.db.default.extraMappings>
     <xwiki.db.oracle.extraMappings>mailsender.oracle.hbm.xml</xwiki.db.oracle.extraMappings>
     <xwiki.db.mysql.extraMappings>mailsender.hbm.xml</xwiki.db.mysql.extraMappings>
+    <xwiki.db.mariadb.extraMappings>mailsender.hbm.xml</xwiki.db.mariadb.extraMappings>
     <xwiki.db.hsqldb.extraMappings>mailsender.hbm.xml</xwiki.db.hsqldb.extraMappings>
     <xwiki.db.pgsql.extraMappings>mailsender.hbm.xml</xwiki.db.pgsql.extraMappings>
     <xwiki.db.derby.extraMappings>mailsender.hbm.xml</xwiki.db.derby.extraMappings>
@@ -294,6 +295,7 @@
                   <xwikiDbHbmDefaultExtraMappings>${xwiki.db.default.extraMappings}</xwikiDbHbmDefaultExtraMappings>
                   <xwikiDbHbmHSQLDBExtraMappings>${xwiki.db.hsqldb.extraMappings}</xwikiDbHbmHSQLDBExtraMappings>
                   <xwikiDbHbmMySQLExtraMappings>${xwiki.db.mysql.extraMappings}</xwikiDbHbmMySQLExtraMappings>
+                  <xwikiDbHbmMariaDBExtraMappings>${xwiki.db.mariadb.extraMappings}</xwikiDbHbmMariaDBExtraMappings>
                   <xwikiDbHbmPostgreSQLExtraMappings>${xwiki.db.pgsql.extraMappings}</xwikiDbHbmPostgreSQLExtraMappings>
                   <xwikiDbHbmOracleExtraMappings>${xwiki.db.oracle.extraMappings}</xwikiDbHbmOracleExtraMappings>
                   <xwikiDbHbmDerbyExtraMappings>${xwiki.db.derby.extraMappings}</xwikiDbHbmDerbyExtraMappings>
@@ -545,6 +547,21 @@
         <xwiki.db.hbm.feeds>feeds.hbm.xml</xwiki.db.hbm.feeds>
       </properties>
     </profile>
+    <profile>
+      <id>mariadb</id>
+      <properties>
+        <xwiki.db>mariadb</xwiki.db>
+        <xwiki.db.jdbc.groupId>${mariadb.groupId}</xwiki.db.jdbc.groupId>
+        <xwiki.db.jdbc.artifactId>${mariadb.artifactId}</xwiki.db.jdbc.artifactId>
+        <xwiki.db.jdbc.version>${mariadb.version}</xwiki.db.jdbc.version>
+        <xwiki.db.connection.url>jdbc:mariadb://localhost/xwiki?useSSL=false</xwiki.db.connection.url>
+        <xwiki.db.connection.username>xwiki</xwiki.db.connection.username>
+        <xwiki.db.connection.password>xwiki</xwiki.db.connection.password>
+        <xwiki.db.connection.driver_class>org.mariadb.jdbc.Driver</xwiki.db.connection.driver_class>
+        <xwiki.db.hbm.xwiki>xwiki.hbm.xml</xwiki.db.hbm.xwiki>
+        <xwiki.db.hbm.feeds>feeds.hbm.xml</xwiki.db.hbm.feeds>
+      </properties>
+    </profile>
     <profile>
       <id>pgsql</id>
       <properties>
diff --git a/xwiki-platform-tools/xwiki-platform-tool-configuration-resources/src/main/resources/hibernate.cfg.xml.vm b/xwiki-platform-tools/xwiki-platform-tool-configuration-resources/src/main/resources/hibernate.cfg.xml.vm
index e7ef95f74a0d7894bc4a24cc6b551cf9ff33baa0..43cfd9e9c29f55141ebf41efb49b99217c7880a2 100644
--- a/xwiki-platform-tools/xwiki-platform-tool-configuration-resources/src/main/resources/hibernate.cfg.xml.vm
+++ b/xwiki-platform-tools/xwiki-platform-tool-configuration-resources/src/main/resources/hibernate.cfg.xml.vm
@@ -112,7 +112,7 @@
     <property name="hibernate.dialect">$xwikiDbDialect</property>
 #end
 ## Note: This is starting the line in order not to put extra spaces when generated
-#if ($xwikiDb == 'mysql' || $xwikiDb == 'oracle')
+#if ($xwikiDb == 'mysql' || $xwikiDb == 'mariadb'|| $xwikiDb == 'oracle')
     <property name="hibernate.dbcp.poolPreparedStatements">true</property>
     <property name="hibernate.dbcp.maxOpenPreparedStatements">20</property>
 #end
@@ -176,6 +176,36 @@
 #end
     -->
 
+    <!-- MariaDB configuration.
+         Uncomment if you want to use MariaDB and comment out other database configurations.
+         Notes:
+           - if you want the main wiki database to be different than "xwiki"
+             you will also have to set the property xwiki.db in xwiki.cfg file
+
+    <property name="hibernate.connection.url">jdbc:mariadb://localhost/xwiki?useSSL=false</property>
+    <property name="hibernate.connection.username">xwiki</property>
+    <property name="hibernate.connection.password">xwiki</property>
+    <property name="hibernate.connection.driver_class">org.mariadb.jdbc.Driver</property>
+    <property name="hibernate.dialect">org.hibernate.dialect.MariaDBDialect</property>
+    <property name="hibernate.dbcp.poolPreparedStatements">true</property>
+    <property name="hibernate.dbcp.maxOpenPreparedStatements">20</property>
+
+    <property name="hibernate.connection.charSet">UTF-8</property>
+    <property name="hibernate.connection.useUnicode">true</property>
+    <property name="hibernate.connection.characterEncoding">utf8</property>
+
+    <mapping resource="xwiki.hbm.xml"/>
+    <mapping resource="feeds.hbm.xml"/>
+## Note: This is starting the line in order not to put extra spaces when generated
+#foreach($mapping in $!xwikiDbHbmCommonExtraMappings.split(","))
+    <mapping resource="$mapping"/>
+#end
+## Note: This is starting the line in order not to put extra spaces when generated
+#foreach($mapping in $!xwikiDbHbmMariaDBExtraMappings.split(","))
+    <mapping resource="$mapping"/>
+#end
+    -->
+
     <!-- HSQLDB configuration.
          Uncomment if you want to use HSQLDB and comment out other database configurations.
          Notes: