diff --git a/install/install.php b/install/install.php
index 64d05feecd8093a7df9b42af4ab563b96cfce7b8..114410b53c1b292053478155354411099207339d 100644
--- a/install/install.php
+++ b/install/install.php
@@ -252,6 +252,9 @@ unset($tmp);
 include_once 'lib/mysql.lib.php';
 $inst->db = new db();
 
+//* Check MySQL version
+$inst->check_mysql_version();
+
 //** Begin with standard or expert installation
 
 $conf['services']['mail'] = false;
diff --git a/install/lib/installer_base.lib.php b/install/lib/installer_base.lib.php
index fb84be14ff822a405dd38987ad42460c607dbe26..b42aa6b78a22c61a87f5a933544482568a8df2f1 100644
--- a/install/lib/installer_base.lib.php
+++ b/install/lib/installer_base.lib.php
@@ -262,6 +262,36 @@ class installer_base {
 		if($msg != '') die($msg);
 	}
 
+	//** Check MySQL version
+	public function check_mysql_version() {
+		global $conf;
+
+		$min_mariadb_version = '10.0.5';
+		// Set MySQL version to 8.0.4 after CentOS 7 support ended to allow preg_* functions in SQL queries
+		$min_mysql_version = '5.5';
+
+		$rec = $this->db->queryOneRecord('SELECT VERSION() as mysql_version');
+		if(is_array($rec)) {
+			$version = $rec['mysql_version'];
+		} else {
+			die("Unable to get MySQL version\n");
+		}
+
+		if(strpos($version,'MariaDB')) {
+			// We have MariaDB
+			$parts = explode('-',$version);
+			$version = $parts[0];
+			swriteln("MariaDB version ".$version);
+			if(version_compare($version, $min_mariadb_version, '<')) die("Minimum required MariaDB version is ".$min_mariadb_version."\n");
+		} else {
+			// we have MySQL
+			swriteln("MySQL version ".$version);
+			if(version_compare($version, $min_mysql_version, '<')) die("Minimum required MySQL version is ".$min_mysql_version."\n");
+		}
+
+
+	}
+
     public function force_configure_app($service, $enable_force=true) {
 		$force = false;
 		if(AUTOINSTALL == true) return false;
diff --git a/install/update.php b/install/update.php
index 6047b7b9302f9841b181c6b7b5c2ec5f71153866..e03b5d9de10c740478a81b7c12fe2b9af126ffb0 100644
--- a/install/update.php
+++ b/install/update.php
@@ -274,6 +274,9 @@ $inst->db = new db();
 $inst->db->setDBData($conf['mysql']["host"], $conf['mysql']["ispconfig_user"], $conf['mysql']["ispconfig_password"], $conf['mysql']["port"]);
 $inst->db->setDBName($conf['mysql']['database']);
 
+//* Check MySQL version
+$inst->check_mysql_version();
+
 //* initialize the master DB, if we have a multiserver setup
 if($conf['mysql']['master_slave_setup'] == 'y') {