diff --git a/libraries/server_privileges.lib.php b/libraries/server_privileges.lib.php index 02bc0dab63..b1581d017e 100644 --- a/libraries/server_privileges.lib.php +++ b/libraries/server_privileges.lib.php @@ -1905,7 +1905,19 @@ function PMA_updatePassword($err_url, $username, $hostname) $local_query = $query_prefix . $GLOBALS['dbi']->escapeString($_POST['pma_pw']) . "'"; - } else if ($serverType == 'MariaDB' + } // MariaDB uses "SET PASSWORD" syntax to change user password. + // On Galera cluster only DDL queries are replicated, since + // users are stored in MyISAM storage engine. + else if ($serverType == 'MariaDB' + && PMA_MYSQL_INT_VERSION >= 10000 + ) { + $query_prefix = "SET PASSWORD FOR '" + . $GLOBALS['dbi']->escapeString($username) + . "'@'" . $GLOBALS['dbi']->escapeString($hostname) . "'" + . " = PASSWORD ('"; + $local_query = $query_prefix + . $GLOBALS['dbi']->escapeString($_POST['pma_pw']) . "')"; + } else if ($serverType == 'MariaDB' && PMA_MYSQL_INT_VERSION >= 50200 && $is_superuser ) {