New MariaDB Enterprise Server Releases 10.4-10.6 with Backported Features

Backported Features

New Features have been backported from MariaDB Community Server to MariaDB Enterprise Server 10.6.

New View sys.privileges_by_table_by_level

A new view sys.privileges_by_table_by_level in the sys schema, to show privileges granted to users, broken by table and by level (global, schema, or table) on which the privilege was granted.

The existing view TABLE_PRIVILEGES in the INFORMATION_SCHEMA displays those privileges that were explicitly granted on the table level. It does not include implicit access privileges to a table the user got granted via the schema or global privilege level. These need to be queried from USER_PRIVILEGES or SCHEMA_PRIVILEGES.

Example:

select * from sys.privileges_by_table_by_level;
+--------------+------------+---------------------+----------------+--------+
| TABLE_SCHEMA | TABLE_NAME | GRANTEE             | PRIVILEGE_TYPE | LEVEL  |
+--------------+------------+---------------------+----------------+--------+
| test         | v1         | 'user1'@'localhost' | SELECT         | GLOBAL |
| test         | t1         | 'user1'@'localhost' | SELECT         | GLOBAL |
| test         | t1         | 'user1'@'localhost' | INSERT         | GLOBAL |
| test         | v1         | 'PUBLIC'@''         | SELECT         | SCHEMA |
| test         | t1         | 'PUBLIC'@''         | SELECT         | SCHEMA |
| test         | t1         | 'PUBLIC'@''         | INSERT         | SCHEMA |
| test         | t1         | 'PUBLIC'@''         | UPDATE         | SCHEMA |
| test         | t1         | 'user2'@'%'         | SELECT         | TABLE  |
| test         | t1         | 'user2'@'%'         | UPDATE         | TABLE  |
| test         | v1         | 'user2'@'%'         | SELECT         | TABLE  |
+--------------+------------+--------------------+----------------+--------+

Time Zone Option for DATE_FORMAT

The new options %Z and %z can be used for the format string of the function

DATE_FORMAT(date, format)

for adding time zone information to the date string.

%Z – Time zone abbreviation

%z – Numeric time zone +hhmm or -hhmm presenting the hour and minute offset from UTC


Example:

SELECT DATE_FORMAT(NOW(), '%W %d %M %Y %H:%i:%s %Z %z');
+--------------------------------------------------+
| DATE_FORMAT(NOW(), '%W %d %M %Y %H:%i:%s %Z %z') |
+--------------------------------------------------+
| Tuesday 21 November 2023 13:28:34 EST -0500      |
+--------------------------------------------------+

Server Audit Log with Milliseconds Precision Timestamps

Some auditing regulations and standards like the Executive Order 14028 require for auditing logs that the included timestamp for each log include fractions of a millisecond and timezone information.

To fulfill this requirement, MariaDB Enterprise Audit had to use the system log (syslog) via the option server_audit_output_type where the timestamp format is controlled by the syslog setting. 

With MariaDB Enterprise Server 10.6.16-11 and the new system variable server_audit_timestamp_format it is now possible to define the format of the timestamp when using server_audit_output_type=file. The default is set to %Y%m%d %H:%i:%s to assure compatibility.

Example:

# for server_audit_timestamp_format=%Y%m%d %H:%i:%s
20231207 12:57:59,mdbe106,root,localhost,6,0,CONNECT,,,0
20231207 12:58:02,mdbe106,root,localhost,6,0,DISCONNECT,,,0

# for server_audit_timestamp_format=%Y%m%dT%H:%i:%s.%f%z
20231207T13:14:28.000000+0100,mdbe106,root,localhost,4,0,CONNECT,,,0
20231207T13:14:32.481161+0100,mdbe106,root,localhost,4,0,DISCONNECT,,,0

Other Notable Release Updates

We have several other maintenance items included in these releases

MARIADB ENTERPRISE SERVER 10.6.16-11

Detailed MariaDB Enterprise Server 10.6.16-11 Release Notes

  • Raise notes if indexes cannot be used.
    • In case of data type or collation mismatch (different error messages).
    • In case a table field was replaced with something else (e.g., Item_func_conv_charset) during a condition rewrite.
    • Added options to write warnings and notes to the slow query log for slow queries. New variables added/changed:
      • note_verbosity, which is a set of the options:
        • basic – All old notes
        • unusable_keys – Print warnings about keys that cannot be used for select, delete, or update.
        • explain – Print unusable_keys warnings for EXPLAIN queries.
        • The default is ‘basic,explain‘.
        • For old installations the notable new behavior is that one will get notes about unusable keys when one does an EXPLAIN for a query.
        • Set either note_verbosity to an empty string or setting sql_notes=0 do disable notes.
      • log_slow_verbosity has a new option ‘warnings’. If this is set then warnings and notes generated are printed in the slow query log up to log_slow_max_warnings times per statement.
      • log_slow_max_warnings – Max number of warnings written to slow query log.
  • One can now use =ALL for any ‘set’ variable to set all options at once. 
[mariadb]
note_verbosity=ALL
SET @@note_verbosity=ALL
  • The semi-synchronous replication magic number error “[ERROR] Read semi-sync reply magic number error” has been improved to show the semi-sync acknowledgment reported with printing the hex-dump of the failing network packet
  • Disable TLS v1.0 and 1.1 for MariaDB. TLSv1.1 removed from the default tls_version system variable.
    • A warning is shown if TLSv1.0 or TLSv1.1 are selected.
  • CHACHA20-POLY1305 support when WolfSSL is used.

MARIADB ENTERPRISE SERVER 10.5.23-17

Detailed MariaDB Enterprise Server 10.5.23-17 Release Notes

  • The semi-synchronous replication magic number error “[ERROR] Read semi-sync reply magic number error” has been improved to show the semi-sync acknowledgment reported with printing the hex-dump of the failing network packet
  • Disable TLS v1.0 and 1.1 for MariaDB. TLSv1.1 removed from the default tls_version system variable.
    • A warning is shown if TLSv1.0 or TLSv1.1 are selected.
  • CHACHA20-POLY1305 support when WolfSSL is used.

MARIADB ENTERPRISE SERVER 10.4.32-22

Detailed MariaDB Enterprise Server 10.4.32-22 Release Notes

  • The semi-synchronous replication magic number error “[ERROR] Read semi-sync reply magic number error” has been improved to show the semi-sync acknowledgment reported with printing the hex-dump of the failing network packet
  • Disable TLS v1.0 and 1.1 for MariaDB. TLSv1.1 removed from the default tls_version system variable.
    • A warning is shown if TLSv1.0 or TLSv1.1 are selected.
  • CHACHA20-POLY1305 support when WolfSSL is used.

Why MariaDB Enterprise Server

MariaDB Enterprise Server is an enhanced, hardened and secured version of MariaDB Community Server that delivers enterprise reliability, stability and long-term support as well as greater operational efficiency when it comes to managing large database deployments for business and mission critical applications. MariaDB Enterprise Server offers additional features needed for production workloads that are not available in the community edition, such as enterprise audit and enterprise backup, and also backports certain enterprise features to older versions so customers can take advantage of critical fixes and features immediately instead of having to upgrade to the newest version.

Being able to backport features from newer release series to older versions is a key advantage of MariaDB Enterprise Server. Quality assurance and internal processes do not always allow customers to upgrade production environments to the newest and greatest release series, although some of the new features would be of value. MariaDB Enterprise Server can help in this case, as we can backport highly requested features to existing versions in cases where we can assure that a backported feature does not decrease the stability of that release series of MariaDB Enterprise Server.

Download MariaDB Enterprise Server

MariaDB customers can download MariaDB Enterprise Server versions at mariadb.com/downloads/enterprise.