Release notes for MariaDB Community Server 11.4 series releases
MariaDB 11.4 is a current long-term series, maintained until May 2029.
This list includes all features since the previous long-term release, MariaDB 10.11 (those introduced in the MariaDB 11.0, MariaDB 11.1 and MariaDB 11.2 short-term releases, and the MariaDB 11.3 rolling release).
Major improvements to the Optimizer. See The Optimizer Cost Model from MariaDB 11.0.
Semi-join optimization for single-table UPDATE/DELETE statements. Update and delete statements that use subqueries can now use all subquery optimization strategies that MariaDB offers, so now if you use subqueries in UPDATE or DELETE, these statements will likely be much faster (MDEV-7487, MariaDB 11.1)
Queries with the DATE or YEAR functions comparing against a constant can now make use of indexes, so these will be noticeably quicker in certain instances. For example SELECT * FROM t2 WHERE YEAR(a) = 2019
or SELECT * FROM t2 WHERE DATE(a) <= '2017-01-01'
. See Sargable DATE and YEAR (MDEV-8320, MariaDB 11.1)
Queries like UCASE(varchar_col)=... can now use an index on varchar_col
if its collation is case insensitive. An optimizer_switch option, sargable_casefold=ON, has been added to enable this optimization. (MDEV-31496, MariaDB 11.3)
Not only ascending, but also descending indexes can now be used to optimize MIN() and MAX() (MDEV-27576)
Shrink temporary tablespaces without restart by setting the innodb_truncate_temporary_tablespace_now system variable. (MDEV-28699, MariaDB 11.3)
The InnoDB system tablespace is now shrunk by reclaiming unused space at startup (MDEV-14795, MariaDB 11.2)
ALTER TABLE can now do most operations with ALGORITHM=COPY, LOCK=NONE
, that is, in most cases, unless the algorithm and lock level are explicitly specified, ALTER TABLE
will be performed using the COPY algorithm while simultaneously allowing concurrent DML statements on the altered table. (MariaDB 11.2)
For more information, refer to, Online Schema Change.
Binary log writing speed was improved by moving checksum calculations out of the global binlog mutex (MDEV-31273). The binlog_legacy_event_pos system variable is available if the old behavior is desired. This is a contribution by Kristian Nielsen
New system variable max_binlog_total_size enables binary log purging when the total size of all binary logs exceeds the specified threshold. The implementation is based on the patch from Percona (MDEV-31404)
New system variable slave_connections_needed_for_purge disables binary log purging until the number of connected slaves reaches the specified threshold (MDEV-31404).
FULL_NODUP
is a new value for the binlog_row_image system variable. It essentially works like FULL
, that is all columns are included in the event, but it takes less space, because the after image omits columns that were not changed by the UPDATE
statement, and have same values as in the before image. This is a contribution from Alibaba (MDEV-32589)
mariadb-binlog --flashback support for the FULL_NODUP mode. This is a contribution from Alibaba (MDEV-32894).
MariaDB can optionally maintain a special index of GTIDs and their location in the binary log. If enabled (the default), it allows finding very quickly where a new connecting replica should start replicating from. Without an index, this required scanning the binlog. This is a contribution by Kristian Nielsen (MDEV-4991).
Add keywords "SQL_BEFORE_GTIDS" and "SQL_AFTER_GTIDS" for START SLAVE UNTIL (MDEV-27247, MariaDB 11.3). SQL_BEFORE_GTIDS stops the replica when it sees gtids of the option's argument list, without executing them. (MariaDB 11.3)
All binlog* variables are now visible as system variables, specifically binlog_do_db, binlog_ignore_db, binlog_row_event_max_size (MDEV-30188, MariaDB 11.2)
SSL is now enabled in the server by default. No configuration necessary, if no server certificate was provided a self-signed certificate will be automatically generated by the server. See Mission Impossible: Zero-Configuration SSL for details (MDEV-31856).
Clients now can validate self-signed server certificates if the mysql_native_password or ed25519 authentication is used and account password is not empty (MDEV-31855).
Clients now require SSL and have --ssl-verify-server-cert enabled by default (MDEV-31857).
Replication clients do that too, MASTER_SSL_VERIFY_SERVER_CERT is enabled by default.
Use --disable-ssl
or --disable-ssl-verify-server-cert
to revert to the old behavior.
Clients can use new command line options --ssl-fp and --ssl-fplist to verify the server certificate by its fingerprint
JSON_TABLE now allows retrieval of the key when iterating on JSON objects (MDEV-30145, MariaDB 11.2)
New functions JSON_OBJECT_FILTER_KEYS, JSON_OBJECT_TO_ARRAY and JSON_ARRAY_INTERSECT to check for JSON intersection (MDEV-26182, MariaDB 11.2)
JSON_KEY_VALUE extracts key/value pairs from a JSON object (MDEV-30145, MariaDB 11.2)
JSON_SCHEMA_VALID function for validating a JSON schema (MDEV-27128, MariaDB 11.1)
It is now possible to create partitions on tables that contain GEOMETRY types (MDEV-19177, MariaDB 11.3)
INET4 data types can now be cast into INET6 types (MDEV-31626, MariaDB 11.3)
This means INET4 values can be compared with INET6 values and can be inserted into INET6 columns; the server can automatically convert INET4 value into INET6 as needed (MariaDB 11.3)
New mariadb-dump option, -j
, --parallel=
for increased parallelism, specifies the number of dump table jobs executed in parallel (only for use with the --tab
option). Also added to mariadb-import, with --use-threads
as a synonym. (MDEV-32216)
mariadb-backup --innobackupex mode has been deprecated (MDEV-31505, MariaDB 11.3)
Rename mariadb-backup’s xtrabackup_* files to mariadb_backup_* (MDEV-18931, MariaDB 11.1)
Add views for periods in information_schema (MDEV-22597), in particular
New view INFORMATION_SCHEMA.PERIODS
New view INFORMATION_SCHEMA.KEY_PERIOD_USAGE
New columns IS_SYSTEM_TIME_PERIOD_START
and IS_SYSTEM_TIME_PERIOD_END
in the INFORMATION_SCHEMA.COLUMNS view
New view sys.privileges_by_table_by_level shows granted privileges broken down by table on which they allow access and level on which they were granted. For example, if a user x
has SELECT
privilege granted ON db.*
, this view will list all tables in the db
schema with the user x
having SELECT
privilege on them. This is different from INFORMATION_SCHEMA.TABLE_PRIVILEGES, which only lists privileges granted on the table level (MDEV-24486)
ALTER TABLE … EXCHANGE PARTITION and ALTER TABLE … CONVERT TABLE … TO now support the WITH VALIDATION
and WITHOUT VALIDATION
clauses. If neither is specified, the default behavior is WITH VALIDATION
(MDEV-22164)
From MariaDB 11.4.5:
44 new collations added. These are aliases for MySQL collations to make it easier to replicate from MySQL to MariaDB (MDEV-35256)
The Information Schema Collations table includes a new column, COMMENT
which contains information about which collation the alias refers to.
Added a redirect mechanism using the redirect_url system variable (MDEV-15935, MariaDB 11.3)
At the moment client-side support is missing
Add a new database-level privilege, SHOW CREATE ROUTINE
that allows one to see the routine definition even if the user isn't the routine owner (MDEV-29167, MariaDB 11.3)
The preferred way to specify Spider parameters is to use the dedicated Spider table options (implemented in MariaDB 11.3). Abusing the table COMMENT
clause is now deprecated (MDEV-28861)
The Spider storage engine now supports table options instead of having to encode them in COMMENT/CONNECTION strings. When any table option is specified, Spider will ignore COMMENT/CONNECTION strings at the same table/partition/subpartition. A new variable spider_ignore_comments is introduced to ignore them globally at all levels (table/partition/subpartition). Another variable, spider_suppress_comment_ignored_warning, is introduced to suppress warnings when Spider ignores COMMENT/CONNECTION strings. (MDEV-28856, MariaDB 11.3)
CONV() function now supports conversion up to base 62 (MDEV-30879)
Values generated by the Key Derivation Function KDF are resistant against password hashing generators, so are good for strongly hashed passwords (MDEV-31474)
Given a time in picoseconds, the new function FORMAT_PICO_TIME returns a human-readable time value and unit indicator (MDEV-19629, MariaDB 11.0)
DATE_FORMAT function can now print the current time zone abbreviation and current time zone offset from UTC with %Z
and %z
format specifiers. (MDEV-31684, MariaDB 11.3)
Added a SENT_ROWS
column to the Information Schema PROCESSLIST table, as well as extended the display size for the columns in processlist to ensure
that most results will fit in display (MDEV-3953, MariaDB 11.3)
Added support for packages (CREATE PACKAGE) outside of ORACLE sql_mode (MDEV-32101)
Setting a non-default old_mode value will now always issue a deprecation warning (MDEV-31811, MariaDB 11.3)
ALTER TABLE IMPORT enhancement (MDEV-26137, MariaDB 11.2)
Temporary tables are now displayed in the Information Schema TABLES Table, SHOW TABLES and SHOW TABLE STATUS (MDEV-12459, MariaDB 11.2)
Stored programs: validation of stored program statements (MDEV-5816, MariaDB 11.2)
Extend AES_ENCRYPT() and AES_DECRYPT() to support an initialization vector and algorithm (MDEV-9069, MariaDB 11.2)
The transaction_isolation option is now a system variable, and the tx_isolation system variable is deprecated (MDEV-21921, MariaDB 11.1)
For a list of all new variables, see System Variables Added in MariaDB 11.4.
Removed
Remove thr_alarm from server codebase
Includes removal of the debug_no_thread_alarm system variable (MDEV-32567)
In addition, the following deprecated features and system variables have been removed (MDEV-32104, MariaDB 11.3):
sr_YU locale (deprecated since MariaDB 10.0.11)
"engine_condition_pushdown" in optimizer_switch (deprecated since MariaDB 10.1.1)
date_format, datetime_format, time_format, max_tmp_tables (deprecated since MariaDB 10.1.2)
wsrep_causal_reads (deprecated since MariaDB 10.1.3)
"parser" in mroonga table comment (deprecated since MariaDB 10.2.11)
old_alter_table variable (MDEV-30905, MariaDB 11.3)
innodb_defragment and related parameters (MDEV-30545, MariaDB 11.1)
The InnoDB Change Buffer has been removed (MDEV-29694, MariaDB 11.0)
For a complete list of security vulnerabilities (CVEs) fixed across all versions of MariaDB, see the Security Vulnerabilities Fixed in MariaDB page.
This page is licensed: CC BY-SA / Gnu FDL
Alternate download from mariadb.org
Release date: 22 May 2025
MariaDB 11.4 is the current long-term series of MariaDB and will be maintained until May 2029. It is an evolution of MariaDB 11.3 with several entirely new features.
MariaDB 11.4.7 is a Stable (GA) release.
For an overview of MariaDB 11.4 see the What is MariaDB 11.4? page.
Thanks, and enjoy MariaDB!
Huge performance drop after update (MDEV-36759)
InnoDB buffer pool reserves all assigned memory even with no/minimum load (MDEV-36780)
Possible data loss in the unlikely scenario when GET GLOBAL innodb_buffer_pool_size is shrinking the size of the buffer pool while the buffer pool contains ROW_FORMAT=COMPRESSED tables that use a non-default KEY_BLOCK_SIZE that is equal to innodb_page_size/1024 (MDEV-36781)
Optimizer trace should show the index name in the block chosen_access_method (MDEV-21510)
Make HOSTNAME a cmake configure variable (MDEV-35850)
As per the MariaDB Deprecation Policy, this will be the last release of MariaDB 11.4 for Ubuntu 20.04 Focal
For a complete list of changes made in MariaDB 11.4.7, with links to detailed information on each push, see the changelog.
This page is licensed: CC BY-SA / Gnu FDL
Note: This page describes features in the source repository for MariaDB 11.4. There are currently no official packages or binaries available for download which contain the features. If you want to try out any of the new features described here you will need to get and compile the code yourself.
DownloadRelease NotesChangelogOverview of 11.4Alternate download from mariadb.orgRelease date: ?
MariaDB 11.4 is the current long-term series of MariaDB and will be maintained until May 2029. It is an evolution of MariaDB 11.3 with several entirely new features.
MariaDB 11.4.6 is a Stable (GA) release.
For an overview of MariaDB 11.4 see theWhat is MariaDB 11.4? page.
Thanks, and enjoy MariaDB!
Incorrect undo logging for indexes on virtual columns whose index ID does not fit in 32 bits (MDEV-36613)
Race conditions between ALTER TABLE or OPTIMIZE TABLE and the purge of transaction history were fixed. (MDEV-36122)
ASAN errors in dict_sys_t::load_table / get_foreign_key_info after failing to load a table (MDEV-33167)
CREATE INDEX fails to heal a FOREIGN KEY constraint (MDEV-35962)
Doublewrite recovery of innodb_checksum_algorithm=full_crc32 page_compressed pages does not work (MDEV-36180)
innodb_snapshot_isolation=1 gives error for not committed row changes (MDEV-36639)
The deprecated parameter innodb_purge_rseg_truncate_frequency is not being recognized (MDEV-36378)
dict_stats_fetch_from_ps() unnecessarily holds exclusive dict_sys.latch (MDEV-35436)
Stall and crash when page cleaner fails to generate free pages during Async flush (MDEV-36226)
Performance regression in INSERT…SELECT due to unnecessarily making InnoDB log durable. (MDEV-35813)
decreasing innodb_buffer_pool_size at runtime does not release memory (MDEV-32339)
LSN allocation is a bottleneck (MDEV-21923)
reorganise innodb buffer pool (and remove buffer pool chunks) (MDEV-29445)
FLUSH TABLES will no longer cause InnoDB persistent statistics to be reloaded. RENAME TABLE will. This change of logic improves the performance in general, and avoids a case where statistics for relatively rarely modified tables are never updated. (MDEV-35000)
The Linux memory pressure interface, which could previously not be disabled and could cause performance anomalies, was rewritten and is disabled by default. (MDEV-34863)
Race condition between log_t::resize_start() and log_t::resize_abort() (MDEV-36082)
Memory leak after failed CREATE TABLE…SELECT; crash on CREATE TABLE…SELECT that reads from multiple tables (MDEV-36504)
Server crashes when resizing default innodb buffer pool after setting innodb-buffer-pool-chunk-size to 1M (MDEV-34677)
The untested ha_spider::index_first_internal constructs broken queries (MDEV-36324)
Unexpected error 1264 'Out of Range Value for Column' when inserting into ... select ... from a spider table (MDEV-35874)
Tests calling the udf spider_copy_tables fail with --view-protocol (MDEV-36335)
group by handler missing constant fields when selecting from a view (MDEV-36307)
A multi-table UPDATE ... ORDER BY ... LIMIT statement could update the wrong rows when the ORDER BY clause was resolved by using temporary and filesort. (MDEV-35955)
A query using a subquery in form:
WHERE col IN (SELECT ... LEFT JOIN tbl ON tbl.column=reference_outside_subquery)
could cause a crash in the optimizer. The essential part is that ON expression has only two kinds of references: 1.to inner side of the outer join and 2. to outside the subquery. (MDEV-32084)
find_order_in_list mismatch when order item needs fixing() (MDEV-36607)
If the join_condition is specified via USING (column_list), the query plan depends on the sequence of tables in the query (MDEV-36592)
Large N-way OR causes a lot of index_merge variants to be created and discarded (MDEV-34620)
Wrong result in loose index scan (MDEV-36118)
Incorrect error handling on DDL with FULLTEXT INDEX (MDEV-36061)
ALTER TABLE…SEQUENCE does not work correctly with InnoDB (MDEV-36038)
The server could crash when an UPDATE is about to commit concurrently with a CREATE INDEX that includes VIRTUAL columns (MDEV-36281)
ALTER TABLE…DROP COLUMN after a failed ALTER TABLE…DROP COLUMN could lead to a server crash (MDEV-36236)
mariadb-backup --backup crash during innodb_undo_log_truncate=ON, innodb_encrypt_log=ON (MDEV-36152)
MariaDB Backup returns with an error like "Error on file ./test/t1#P#p513.MYD open during test
.t1
table copy for partitioned MyISAM tables when running out of file handles (MDEV-36437)
make mariadb-backup to force an innodb checkpoint (MDEV-30000)
Server aborts while deleting the record in spatial index (MDEV-35420)
Upgrades fail on Windows (MDEV-36128)
Field pointer may be uninitialized in fill_record (MDEV-36181)
Wrong results from tables with a single record and an aggregate (MDEV-35238)
With wsrep_ignore_apply_errors = 0, the node crashes due to assertion thd->is_error() failed in Sql_cmd_dml::prepare(), shown in the logs (MDEV-35946)
In some cases, if there are MDL locks (for example, when LOCK TABLE is executed), a node could get stuck in the system thread due to incorrect handling of metadata locks (MDL) in server code when a transaction was BF aborted. (MDEV-35941)
Regression after the fix for MDEV-31413 - sometimes the server crashes with an assertion in wsrep::transaction::before_rollback(), for example when using OPTIMIZE TABLE on an ARIA table with wsrep_osu_method=RSU. (MDEV-32631)
In Galera, creating sequence with a small cache leads to signal 6 error: [ERROR] WSREP: FSM: no such a transition REPLICATING -> COMMITTED. (MDEV-33850)
Assertion `commit_trx' failed in innobase_commit() (ha_innodb.cc). An INSERT with sql_log_bin=0 is still replicated in Galera (per MDEV-7205), despite binary logging being disabled. This results in a partial binlog bypass, requiring a two-phase commit (2PC). During 2PC, the INSERT is first prepared (entering the PREPARED state in InnoDB), and on commit, the new assertion from MDEV-24035 fails, causing a crash with "Assertion 'commit_trx' failed" in logs. (MDEV-35658)
When a sequence is used and inserts run in parallel on multiple Galera nodes, a transaction may be aborted after passing certification. If it then attempts to roll back, the binlog statement cache—which includes reserved sequence values—may be written prematurely. This causes a crash with the diagnostic "WSREP: FSM: no such a transition REPLICATING -> COMMITTED" in the logs, as the transaction is supposed to replay and only write to the binlog during the final commit. (MDEV-33589)
After a corrupted table on one node triggers the cluster to vote to evict a node that failed a transaction, the current master can't commit any more and hangs. To avoid this crash in the future, the user should also update the galera library to version 26.4.21+. (MDEV-34998)
Creating partitioned tables is disallowed when wsrep_osu_method=TOI and wsrep_strict_ddl=ON, preventing alteration or deletion of partitioned tables. (MDEV-27861)
Attempting to create a CONNECT engine table results in "non-InnoDB sequences in Galera cluster" error message in logs due to an incorrect engine check. (MDEV-35748)
Build fails with cmake 4.0.0 due to wsrep (MDEV-36422)
A Galera node may hang due to improper mutex handling: a thread held lock_sys.wait_mutex while triggering a streaming replication rollback, which also tried to acquire THD::LOCK_thd_kill, leading to incorrect mutex usage. In debug versions, this leads to diagnostics like "safe_mutex: Found wrong usage of mutex 'wait_mutex' and 'LOCK_thd_data'", but in both debug and release versions, there is some probability that the node may hang. (MDEV-36509)
A Galera node might hang if foreign key (FK) and unique key (UK) checks are disabled on multiple appliers executing INSERTs into the same table, because InnoDB might treat these operations as bulk inserts, leading one applier to acquire a table-level lock. If another applier with a lower sequence number then waits for this lock, a deadlock can occur within Galera. Specifically, the lock holder waits for the earlier applier to commit, while the earlier applier is blocked by the lock. (MDEV-36360)
corruption when query cache cannot allocate block (MDEV-34075)
Stack looping and SIGSEGV in Item_args::walk_args on UPDATE (MDEV-31647)
Server crash in find_field_in_tables, Assertion `name' failed in find_field_in_table_ref (MDEV-25012)
Server crash when inserting from derived table containing insert target table (MDEV-32086)
MariaDB effectively running as root CAP_DAC_OVERRIDE (MDEV-36229)
Build fails with cmake 4.0 (MDEV-36506)
mysqldump does not preserve case of table names in generated sql (MDEV-14432)
Incorrect result for BETWEEN over unique blob prefix (MDEV-36235)
Incorrect query result for comparisons of binary_column NOT LIKE binary_column (MDEV-36211)
Semi-sync Replica Can't Kill Dump Thread When Using SSL (MDEV-36663)
Mysqlbinlog --stop-position does not warn if EOF not reached with --read-from-remote-server (MDEV-35694)
Long server_audit_file_path causes buffer overflow (MDEV-36245)
Bad value for the variable "Buffer pool size" (MDEV-21203)
Error while installing MariaDB on Windows Server 2022 due to antivirus interference. (MDEV-35983)
RHEL 8 (and compatible) + Ubuntu 20.04 cannot start systemd servce (EXIT_CAPABILTIES/218) (MDEV-36591)
JSON_UNQUOTE doesn't work with emojis (MDEV-35614)
Fixes for the following security vulnerabilities:
For a complete list of changes made in MariaDB 11.4.6, with links to detailed information on each push, see the changelog.
For a full list of contributors to MariaDB 11.4.6, see the MariaDB Foundation release announcement.
This page is licensed: CC BY-SA / Gnu FDL
Alternate download from mariadb.org
Release date: 4 Feb 2025
MariaDB 11.4 is the current long-term series of MariaDB and will be maintained until May 2029. It is an evolution of MariaDB 11.3 with several entirely new features.
MariaDB 11.4.5 is a Stable (GA) release.
For an overview of MariaDB 11.4 see theWhat is MariaDB 11.4? page.
Thanks, and enjoy MariaDB!
Fix possible InnoDB hang while running out of buffer pool (MDEV-35409)
Fix assertion failure on cascading foreign key update of table with vcol index in parent (MDEV-29182)
Fix potential issue in secondary Index with ROW_FORMAT=COMPRESSED and Change buffering enabled (MDEV-35679)
Fix issue where ON UPDATE SET NULL could not be specified on a NOT NULL column (MDEV-35445)
New parameter --skip-freed-pages for Innochecksum. Use this parameter to not get freed undo logs reported as existing undo log pages. (MDEV-35394)
Cloning of table statistics while saving the InnoDB table stats is now avoided (MDEV-35363)
InnoDB deadlock output query length increased to improve visibility of deadlocked statements. (MDEV-32576)
ALTER TABLE...IMPORT TABLESPACE now works with INDEX DESC (MDEV-35169)
Fix occasional failure of recovery of a multi-batch operation with InnoDB on startup (MDEV-35699)
Fix possible crash on DELETE from a HEAP table (MDEV-22695)
Fix possible Spider thread hang in 'Update' state on 2nd INSERT (MDEV-35064)
Fix possible crash on bootup in spider_sys_open_table «ext-issue»«MDEV-32822», «ext-issue»«MDEV-34302» (MDEV-34925)
44 new collations added. These are aliases for MySQL collations to make it easier to replicate from MySQL to MariaDB (MDEV-35256)
Added support for utf8mb4_0900_* collations, improving accent handling and compatibility with MySQL 8.0 for replication. (MDEV-20912)
The Information Schema Collations table includes a new column, COMMENT
which contains information about which collation the alias refers to.
Fix assertion falilure and possible index corruption with unique key and nopad collation without DESC or HASH keys (MDEV-30111)
Fix client crash the command after client sets character set to utf32 (MDEV-34090)
Fix possible runtime error caused by XA RECOVER applying a zero offset to a null pointer (MDEV-35549)
Fix issue where functions in default values in tables with certain character sets could break SHOW CREATE and mariadb-dump (MDEV-29968)
Fix incorrect formatting of timestamp during mariadb-binlog parsing of a binary log, causing point in time recovery discrepancies (MDEV-31761)
mariadb-binlog can now correctly process more than one logfile when --stop-datetime is specified (MDEV-35528)
Setting pseudo_thread_id
to a value exceeding 4 bytes previously resulted in truncation when written to the binary log (MDEV-35646)
MariaDB now supports MySQL 8.0 binlog events, including PARTIAL_UPDATE_ROWS_EVENT, TRANSACTION_PAYLOAD_EVENT, and HEARTBEAT_LOG_EVENT_V2. (MDEV-35643)
Fix issue where START/STOP ALL REPLICAS errors without returning an error if the command could be executed due to wrong privileges. (MDEV-21858)
Fix server crash in get_sort_by_table/make_join_statistics after INSERT into a view with ORDER BY (MDEV-29935)
Fix failing assertion causing disruption and replication failure (MDEV-24035)
Conditions with SP local variables are now pushed into derived table. Previous behaviour caused slow performance and table scans instead of using the pushed down condition (MDEV-35910)
NULL-aware materialization with IN predicate and single column no longer skips building sorted Ordered_key structures (MDEV-34665)
Fix possibly wrong result using a degenerated subquery (SELECT ) with window function (MDEV-35869)
History is now stored on the same partitions on different Galera nodes when system versioning is enabled (MDEV-35096)
Fix possible hang or crash during InnoDB purge with HASH indexes during ALTER TABLE (MDEV-25654)
EXCHANGE PARTITION now works for tables with unique blobs (MDEV-35612)
algorithm = instant can now correctly be used if a table has partitions and one tries to change a column with an index which is not the partitions key. This previously gave error "ERROR 1846 (0A000): ALGORITHM=INSTANT is not supported. Reason: ADD INDEX. Try ALGORITHM=NOCOPY". (MDEV-34813)
Galera updated to 26.4.21
NOTE: Includes increasing the GCS protocol version, which prevents downgrades of individual nodes in the cluster as soon as all nodes have been updated
Fix streaming replication transaction crash with innodb_snapshot_isolation (MDEV-35281)
Fix sporadic failure of async replication on Galera async replica nodes with parallel replication enabled (MDEV-35465)
Fix possible failure of wsrep_sst_rsync SST script if user specified aria_log_dir_path different from default data directory (MDEV-35387)
Fix cluster node hang during shutdown if threadpool is used (MDEV-35710)
MariaDB Cluster and ALTER INPLACE running in Total Order Isolation (wsrep_OSU_method=TOI) now correctly abort a DML INSERT operation in InnoDB (MDEV-33064)
Fix possible crash in wsrep_check_sequence (MDEV-33245)
Fix sporadic reporting of success when a deadlock error occurs under --ps-protocol BF aborted transaction (MDEV-35446)
Rows in table mysql.gtid_slave_pos are now correctly deleted on Galera nodes when wsrep_gtid_mode = 1 is used, which previously lead to wrong information about replica delays (MDEV-34924)
Undefined behavior could occur when attempting to perform INSERT DELAYED on a Galera cluster node. (MDEV-35852)
Fix issue where DROP TABLE on child and UPDATE of parent table can cause a metadata lock BF-BF conflict when applied concurrently. (MDEV-35018)
Galera protocol versions are now shown by show status - change available with installation of galera library 26.4.21+ (MDEV-35505)
Fix possible crash in wsrep_sst_mariadb-backup script when upgrading node in cluster from 10.11.9 to 10.11.10. (MDEV-35526)
wsrep_sst_mariadb-backup.sh no longer uses --use-memory default (100MB) resulting in prepare stage which could take hours (MDEV-35749)
For an authentication with the ed25519 authentication plugin the password of the CREATE USER statement is now masked in the audit log (MDEV-35507)
MariaDB Audit now detects all DCLs forms for masking a password (MDEV-35522)
Fix possible crash where server could not construct a geomery object from the input (MDEV-33987)
Fix trigger created with "CREATE TRIGGER table1_after_insert
AFTER INSERT" which is adding rows to another table using "FOR EACH ROW insert into table2(id
, name
) values (NEW.id
, NEW.name
);" that did not work correctly when if bulk inserts are used by the application. Only the first row of the bulk insert would be added to the table (MDEV-34958)
After changing the table definition for the system table 'mysql.servers', a following execution of CREATE SERVER would previously lead to a server crash.
NOTE: System tables should never be modified by a user anyhow (MDEV-33783)
Fix connection hang after query on a partitioned table with UNION and LIMIT ROWS EXAMINED (MDEV-35571)
Fix possible crash during index traversal using tree_search_next
. (MDEV-28130)
FIx assertion failure where CURRENT_USER was not correctly copied during condition pushdown (MDEV-35090)
START TRANSACTION, when triggering an implicit commit as a COMMIT or ROLLBACK has not been executed before, now resets optional characteristics added to the last START TRANSACTION command (MDEV-35335)
sql_mode='NO_UNSIGNED_SUBTRACTION' now works for multiple unsigned integers (MDEV-35651)
The "Failed to write to mysql.slow_log" error no longer shown without a detailed reason for the error (MDEV-20281)
Fix doublewrite recovery of innodb_checksum_algorithm=full_crc32 encrypted pages (MDEV-34898)
Can now correctly add a foreign key on a table with a long UNIQUE multi-column index that contains a foreign key as a prefix (MDEV-33658)
During an online table rebuild of an InnoDB statistics table, opt_search_plan_for_table() no longer sometimes degrades to full table scan (MDEV-35443)
Fix debian-start script failure when using non-standard socket path (MDEV-35907)
Fix possible hang or crash where zero offset applied to null pointer (MDEV-35864)
Fixed issue where ST_PointFromWKB ignored SRID parameter and returned 0 (MDEV-32619)
Fix possible hang during CREATE TABLE…SELECT error handling, especially with innodb_snapshot_isolation enabled (MDEV-35647)
Fix incorrect locking order of LOCK_log/LOCK_commit_ordered and LOCK_global_system_variables (MDEV-29744)
Fix rare cases where binlog entries could receive incorrect timestamps on secondary nodes of a Galera cluster, potentially impacting replication accuracy (MDEV-35157)
Fix possible memory leak on SHUTDOWN (MDEV-35326)
Fix possible memory leak while shutting down server after installing the auth_gssapi plugin (MDEV-35575)
Fix possible server crash when using INSERT DELAYED on tables with virtual columns. (MDEV-26891)
Fix possible Spider crash or hang when the first byte of a connection key is changed (MDEV-34849)
A BEFORE INSERT Trigger previously returned with error ""Field 'xxx' doesn't have a default value", if a NULL value is added for a column defined NOT NULL without explicit value and no DEFAULT specified (MDEV-19761)
Calling a stored routine that executes a join on three or more tables and referencing not-existent column name in the USING clause could previously result in a crash on its second invocation. (MDEV-24935)
Fix rare cases where binlog entries could receive incorrect timestamps on secondary nodes of a Galera cluster, potentially impacting replication accuracy (MDEV-35157)
Table flags, preserved from the old storage engine after changing the storage engine of a table, can break replication (MDEV-31794)
Comparison of UUID v1 and V6 could return incorrect results (MDEV-35468)
Validation of SSL certificate fails for mariadb-backup. For a MariaDB Cluster (Galera) SST operations can be affected (MDEV-35368)
Fixes for the following security vulnerabilities:
For a complete list of changes made in MariaDB 11.4.5, with links to detailed information on each push, see the changelog.
For a full list of contributors to MariaDB 11.4.5, see the MariaDB Foundation release announcement.
This page is licensed: CC BY-SA / Gnu FDL
Alternate download from mariadb.org
Release date: 1 Nov 2024
MariaDB 11.4 is the current long-term series of MariaDB and will be maintained until May 2029. It is an evolution of MariaDB 11.3 with several entirely new features.
MariaDB 11.4.4 is a Stable (GA) release.
For an overview of MariaDB 11.4 see the What is MariaDB 11.4? page.
Thanks, and enjoy MariaDB!
Fix attempt to read outside the bounds of the file: ./ibdata1 (MDEV-34453)
Fix MariaDB crash with SIGILL because the OS does not support AVX512 (MDEV-34565)
Fix deadlock caused by lock_rec_unlock_unmodified() (MDEV-34690)
Fix duplicate key error in table 'mysql.innodb_table_stats' (MDEV-34207)
Fix possible adaptive hash index corruption with ALTER TABLE...IMPORT TABLESPACE and FULLTEXT SEARCH (MDEV-35059)
XA prepare now correctly releases unmodified records in non-blocking mode (MDEV-34466)
Fix contention between secondary index UPDATE and purge due to large innodb_purge_batch_size (MDEV-34515)
New default of 127
for innodb_purge_batch_size (previously 1000
).
Fix redundant page lookups that hurt performance (MDEV-34791)
Implement innodb_log_file_mmap on 64-bit systems for improving ib_logfile0 reads (MDEV-34062)
Fix server crash when calling spider UDF after aria_encrypt_tables is enabled (MDEV-34682)
SELECT MIN on Spider table no longer returns more rows than expected (MDEV-26345)
Fix Spider group by handler wrong result on order by aggregate (MDEV-29546)
Fix Storage Engine S3 that caused 500 error when using Huawai Cloud S3 and possibly other S3 providers (MDEV-34867)
A new option s3-provider has been added. s3-provider=Huawai
needs to be set for Huawai Cloud S3
New option s3_ssl_no_verify, if true, SSL certificate verification for the S3 endpoint is disabled
Fix crash caused by query containing constant having clause (MDEV-23983)
Fix assertion with optimizer_join_limit_pref_ratio and 1-table select (MDEV-35072)
Fix InnoDB crash under Windows Subsystem for Linux on ALTER TABLE or OPTIMIZE TABLE (MDEV-34938)
Modification of the column now correctly checks foreign key constraint (MDEV-34392)
Fix incorrect NULL value handling for instantly dropped BLOB columns (MDEV-35122)
Galera updated to 26.4.20
Fix server crash when setting wsrep_cluster_address after adding invalid value to wsrep_allowlist table (MDEV-31173)
TOI (ALTER) no longer hangs on a parent table if SR transaction is in progress on a child table (MDEV-34836)
Fix INSERT...SELECT' on MyISAM table suddenly replicated by alera (MDEV-34647)
Fix case where with wsrep_mode=REPLICATE_ARIA, only part of the mixed-engine transactions was replicated (MDEV-30653)
Fix galera_ssl_reload failure with warning message (MDEV-32778)
When InnoDB gets an assertion failure, WSREP layer is now handled gracefully (MDEV-32363)
Recovery now correctly notes some log corruption (MDEV-34802)
InnoDB now correctly merges the change buffer to ROW_FORMAT=COMPRESSED tables (MDEV-34879)
Can now selectively restore sequences using innodb tables from backup (MDEV-32350)
JSON_TABLE now properly unquotes strings (MDEV-27412)
JSON_TABLE default values now allows non-string literals (MDEV-25822)
As per the MariaDB Deprecation Policy, this will be the last release of MariaDB 11.4 for Windows 11 22H2
mariadbd no longer hangs on startup when --init-file target does not exist (MDEV-34814)
LOAD DATA INFILE with geometry data no longer fails (MDEV-34883)
Fix heap-use-after-free in group_concat with compressed or GIS columns (MDEV-16699)
Fix assertion `!is_cond()' failed in Item_bool_func::val_int / do_select (MDEV-35135)
Trigger now works correctly with bulk update (MDEV-34718)
Fix assertion failure in find_producing_item upon a query from a view (MDEV-35276)
Add new setting, --quick-max-column-width to the mariadb client for use in --quick mode (MDEV-34704)
Fixes for the following security vulnerabilities:
CVE-`-```
For a complete list of changes made in MariaDB 11.4.4, with links to detailed information on each push, see the changelog.
For a full list of contributors to MariaDB 11.4.4, see the MariaDB Foundation release announcement.
This page is licensed: CC BY-SA / Gnu FDL
Alternate download from mariadb.org
Release date: 8 Aug 2024
MariaDB 11.4 is the current long-term series of MariaDB and will be maintained until May 2029. It is an evolution of MariaDB 11.3 with several entirely new features.
MariaDB 11.4.3 is a Stable (GA) release.
For an overview of MariaDB 11.4 see the What is MariaDB 11.4? page.
Thanks, and enjoy MariaDB!
ALTER TABLE...ALGORITHM=COPY now builds indexes more efficiently (MDEV-33087)
Unsetting the innodb_alter_copy_bulk system variable restores the old behavior.
Fix unexpected storage read IO for the redo log, reintroduce innodb_log_write_ahead_size (MDEV-33894)
Correctly terminate transaction early with ER_LOCK_TABLE_FULL when lock memory is growing (MDEV-34167)
Alter operation on redundant table no longer aborts the server (MDEV-34222)
Fix MariaDB crash with SIGILL because the OS does not support AVX512 (MDEV-34565)
Fix InnoDB: Failing assertion: stat_n_leaf_pages > 0
in ha_innobase::estimate_rows_upper_bound
(MDEV-34474)
wait_for_read in buf_page_get_low no longer hurts performance (MDEV-34458)
Fix InnoDB: Assertion failure in file ./storage/innobase/page/page0zip.cc line 4211 (MDEV-34357)
Fix Aria index corruption when doing a REPAIR TABLE that has a size of over 4G (MDEV-34522)
UBSAN: runtime error: applying non-zero offset in spider_free_mem
and SIGSEGV in spider_free_mem
on SELECT (MDEV-31475)
SIGSEGV in ha_resolve_storage_engine_name
, UBSAN: runtime error: index 4294967295 out of bounds for type 'st_plugin_int *[64]' (MDEV-32487)
SIGSEGV in spider_db_conn::fin_loop_check
, and ASAN: heap-use-after-free in spider_db_mbase::fin_loop_check
on SHOW TABLE STATUS (MDEV-34541)
SIGSEGV in ha_spider::lock_tables
on BEGIN after table lock (MDEV-29962)
SIGSEGV in spider_conn_first_link_idx
and others on DELETE, INSERT and SELECT (MDEV-32492)
Spider: Crashes, asserts, hangs, memory corruptions and ASAN heap-use-after-free's (MDEV-27902)
Spider: @@insert_id 128
to TINYINT: Assertion ``!is_set() || (m_status == DA_OK_BULK && is_bulk_op())'` failed. (MDEV-28105)
ASAN errors in spider_db_free_result
after partition DDL (MDEV-29027)
Server crashes when calling spider UDF after aria_encrypt_tables
is enabled (MDEV-34682)
SIGSEGV in parse_engine_part_options
on INSERT, SELECT or ALTER (MDEV-34421)
Assertion ``auto_increment_value'failed in
ha_partition::info` on INSERT into MEMORY table (MDEV-24610)
On startup: UBSAN: applying zero offset to null pointer in my_copy_fix_mb
from strings/ctype-mb.c
and other locations (MDEV-34226)
On startup: UBSAN: runtime error: applying zero offset to null pointer in skip_trailing_space
and my_hash_sort_utf8mb3_general1400_nopad_as_ci
(MDEV-34187)
SHOW CREATE DATABASE statement crashes the server when db name contains some unicode characters, ASAN stack-buffer-overflow (MDEV-32376)
Wrong result set with utf8mb4_danish_ci
and BNLH join (MDEV-34417)
On startup: UBSAN: runtime error: applying non-zero offset in JOIN::make_aggr_tables_info
in sql/sql_select.cc (MDEV-34227)
Crash after killing query while it is processed by test_quick_select
(MDEV-30651)
Extend condition normalization to include 'NOT a'
(MDEV-19520)
Constant subquery causing a crash in pushdown optimization (MDEV-29363)
Crash when pushing condition with CHARSET()/COERCIBILITY() into derived table (MDEV-33010)
2nd execution name resolution problem with pushdown into unions (MDEV-34506)
Assertion ``(key_part->key_part_flag & 4) == 0'` failed key_hashnr (MDEV-34580)
Crash caused by query containing constant having clause (MDEV-23983)
Using NAME_CONST() (or executing query from the stored procedure and referring to a local variable) changes the plan and may make execution slower (MDEV-33971)
ORDER BY DESC
causes ROWID Filter optimization performance degradation (MDEV-33875)
Auto-generated DELETE from HEAP table no longer breaks replication (MDEV-25607)
Fix replication failure when XA transactions are used where the replica has replicate_do_db set and the client has touched a different database when running DML such as inserts. (MDEV-33921)
Fix replication error when CHANGE MASTER TO is used in conjunction with a password longer than 41 ascii characters (MDEV-23857)
The --init-rpl-role option is utilized to avoid a possible error state in semisync recovery (MDEV-33465)
Hide password passed on commandline from xtrabackup_info
(MDEV-34434)
Galera updated to 26.4.19
NOTE: Includes increasing the GCS protocol version, which prevents downgrades of individual nodes in the cluster as soon as all nodes have been updated
galera_gtid_2_cluster
: Assertion ``thd->wsrep_next_trx_id() != (0x7fffffffffffffffLL * 2ULL + 1)'` (MDEV-32633)
table gtid_slave_pos
entries never been deleted with wsrep_gtid_mode = 0
(MDEV-34170)
Deadlock found when trying to get lock during applying (MDEV-31658)
Change error code for Galera unkillable threads (MDEV-12008)
10.11.8 cluster becomes inconsistent when using composite primary key and partitioning (MDEV-34269)
wsrep_sst_mariadb-backup
use /tmp
dir during SST rather then user defined tmpdir
(MDEV-32158)
server_uid system variable added, and value added to the error log at startup (MDEV-34494)
As per the MariaDB Deprecation Policy, this will be the last release of MariaDB 11.4 for Debian 10 "Buster", RHEL/CentOS 7, Ubuntu 23.10 "Mantic", and Fedora 38
Repositories for Ubuntu 24.04 "Noble" have been added
IMPORT TABLESPACE no longer unnecessarily traverses tablespaces list (MDEV-34670)
Fix unknown variable defaults-group-suffix=
with mariadb-secure-installation (MDEV-33265)
mariadb-install-db no longer hangs on macOS (MDEV-34129)
Fix transaction termination with ER_LOCK_TABLE_FULL when lock memory is growing (MDEV-34167)
Disable new connections in case of fatal signal (MDEV-34475)
Control over memory allocated for SP/PS (MDEV-14959)
Triggers now work correctly with bulk insert (MDEV-24411)
Fix assertion ``table->field[0]->ptr >= table->record[0] && table->field[0]->ptr <= table->record[0] + table->s->reclength'failed in
void handler::assert_icp_limitations(uchar*)` (MDEV-34632)
sandbox mode - now compatible with --binary-mode (MDEV-34203)
For a complete list of changes made in MariaDB 11.4.3, with links to detailed information on each push, see the changelog.
For a full list of contributors to MariaDB 11.4.3, see the MariaDB Foundation release announcement.
This page is licensed: CC BY-SA / Gnu FDL
Alternate download from mariadb.org
Release date: 29 May 2024
MariaDB 11.4 is the current long-term series of MariaDB and will be maintained until May 2029. It is an evolution of MariaDB 11.3 with several entirely new features.
MariaDB 11.4.2 is a Stable (GA) release.
For an overview of MariaDB 11.4 see the What is MariaDB 11.4? page.
Thanks, and enjoy MariaDB!
From this version, the mariadb-dump tool adds a new sandbox command to the top of every dump file. This command cannot be interpreted by MariaDB command line client versions that do not have the sandbox command, or by MySQL command line clients, and an error will be generated in these clients. Other methods of importing the dump will work not have this issue.
Introduce the innodb_log_spin_wait_delay system variable to address excessive context switching caused by log_sys.lsn_lock (observed on write-intensive workloads on NUMA systems) (MDEV-33515)
Fix InnoDB holding shared dict_sys.latch while waiting for FOREIGN KEY child table lock on DDL (MDEV-32899)
Fix adaptive hash index corruption after ALTER TABLE…DISCARD TABLESPACE (MDEV-33400)
Server no longer aborts while altering an InnoDB statistics table (MDEV-33462)
Fix LeakSanitizer errors in rec_copy_prefix_to_buf (MDEV-33230)
Fix InnoDB fatal error: Clustered record field for column x not found (MDEV-33558)
Fix InnoDB hang when temporarily running out of buffer pool (MDEV-33613)
Fix alter operation hang when encryption thread works on the same tablespace (MDEV-33770)
Fix MariaDB segfault on rowid filter query involving generated column (MDEV-33795)
Fix discard/import tablespace, restart, index corruption (MDEV-33512)
Fix server hang on DROP INDEX or RENAME INDEX (MDEV-33993)
Fix mariadb-backup --backup hang (MDEV-33669)
Fix server hang caused by InnoDB change buffer (MDEV-33543)
Fix assertion failures upon adding a too long key to table with COMPRESSED row format (MDEV-31161)
IMPORT TABLESPACE no longer fails with column count or index count mismatch (MDEV-30655)
Fix alter table corruption while applying the modification log (MDEV-19044)
Fix inconsistent behaviors of UPDATE under RU & RC isolation level (MDEV-26643)
Fix weird SELECT view when a record is modified to the same value by two transactions (MDEV-26642)
Fix inconsistent read and write, which use the same predicate (WHERE clause) (MDEV-29565)
Fix inconsistent SELECT view when modifying a record added by another transaction (MDEV-26671)
Fix weird read view after ROLLBACK of other transactions (MDEV-33802)
Read only server no longer throws error when running a create temporary table as select statement (MDEV-33889)
Change buffer index no longer fails to delete the records (MDEV-32489)
Fix InnoDB include OS error information when failing to write to iblogfile0 (MDEV-33397)
Fix phantom rows caused by UPDATE of PRIMARY KEY (MDEV-32898)
New system variable, innodb_snapshot_isolation
In-place migration from MySQL 5.7 no longer causes invalid AUTO_INCREMENT values (MDEV-33277)
Fix InnoDB log corruption before upgrading it on startup (MDEV-32445)
Table no longer gets rebuilt with ALTER TABLE ADD COLUMN (MDEV-33214)
Possible corruption when shrinking the system tablespace on innodb_fast_shutdown=0
(MDEV-34216)
InnoDB transaction recovery is incorrect (MDEV-34212)
InnoDB is disregarding read-only mode on slow shutdown (MDEV-34209)
InnoDB tries to write to read-only system tablespace in buf_dblwr_t::init_or_load_pages()
(MDEV-34200)
Fixed that internal temporary tables did not wait for freed disk space, and related issues (MDEV-33813)
Fix wrong result on 2nd execution of prepared statement for query with derived table (MDEV-31361)
Server crashes when deleting partitions from a table with spider engine (MDEV-33731)
SPIDER plugin initialization failed at 'create table if not exists mysql.spider_tables ... with 'Specified key was too long; max key length is 1000 bytes', Warning: Memory not freed: 10720 (MDEV-33242)
spider plugin init failure with no_zero_date sql_mode (MDEV-33494)
sql plugin init failure with traditional sql_mode (MDEV-33584)
spider returns parsing failure on valid left join select by translating the on expression to () (MDEV-33679)
Spider: ERROR 12710 (HY000): Invalid information from remote table when using MariaDB 10.5 local and MariaDB 10.6 remote (MDEV-33777)
Fix bug where Spider variables were not available if Spider was loaded upon server startup (MDEV-33441)
Port backup features from Enterprise Server. This adds support for BACKUP STAGE to mariadb-backup, and obsoletes the no-backup-locks and rsync options (MDEV-32932)
mariadb-backup now preserves innodb_encrypt_tables (MDEV-33334)
Fix mariadb-backup problem on older mariadb (opendir(NULL)) caused by MDEV-30968 (MDEV-31251)
Fix mariadb-backup --backup FATAL ERROR: ... Can't open datafile cool_down/t3 (MDEV-33011)
mariadb-backup --backup now includes retry logic for undo tablespaces (MDEV-33980)
Fix crash recovery in mariadb-backup --prepare due to insufficient innodb_log_file_size (MDEV-33540)
Fix crash in mariadb-backup --prepare --export after --prepare
(MDEV-33023)
mariadb-backup now considers O/S user when --user
option is omitted (MDEV-32893)
Fixed improper application of ORDER BY COLLATE to non-character columns (MDEV-33318)
Default charset now works with PHP MySQLi extension (MDEV-32975)
Fixed Bad SEPARATOR value in GROUP_CONCAT on character set conversion (MDEV-33772)
Fixed out of range error in AVG(YEAR(datetime)) due to a wrong data type (MDEV-33496)
Fixed GREATEST() and LEAST() problems with NULLs (MDEV-21034)
View created via JSON_ARRAYAGG now returns correct json object (MDEV-30646)
JSON_TYPE now detects the type of String Values and correctly returns Date/DateTime values (MDEV-19487)
JSON_REMOVE no longer returns NULL on valid arguments (MDEV-22141)
JSON_EXTRACT no longer returns multiple values for same path (MDEV-32287)
WolfSSL's math is unnecessarily slow (MDEV-33482)
Self-signed certificates are x509 Version 1, which are rejected by some TLS libraries (MDEV-33592)
Server crashes in JOIN_CACHE::write_record_data upon EXPLAIN with subqueries and constant tables (MDEV-21102)
Wrong result with cross Join given join order (MDEV-30975)
Wrong warnings on 2-nd execution of PS for query with GROUP_CONCAT (MDEV-31276)
Wrong result with semi-join and splittable derived table (MDEV-23878)
Optimizer choosing incorrect index in 10.6, 10.5 but not in 10.4 (MDEV-33306)
Aggregation functions fail to leverage uniqueness property (MDEV-30660)
Partitioning is broken on big endian architectures (MDEV-33623)
CHECK TABLE
does not recognize corruption after EXCHANGE WITHOUT VALIDATION
on system-time partitioning (MDEV-33125)
The audit plugin now reports the user and host in all cases (MDEV-33393)
--gtid-ignore-duplicate can double-apply event in case of parallel replication retry (MDEV-33475)
Deadlock kill of XA PREPARE can break replication / rpl.rpl_parallel_multi_domain_xa sporadic failure (MDEV-34042)
mysql_manager_submit Segfault at Startup Still Possible During Recovery (MDEV-33799)
Server crash in Rows_log_event::update_sequence upon replaying binary log (MDEV-31779)
Slave crashed:reload_acl_and_cache during shutdown (MDEV-30260)
Rpl_semi_sync_slave_status is ON When Replication Is Not Configured (MDEV-33546)
When binlog_annotate_row_events on , event of binlog file is truncated (MDEV-9179)
Add more warnings to be able to better diagnose network issues (MDEV-33582)
Improve times and states in show processlist for replication (MDEV-33620)
Adapt parallel slave's round-robin scheduling to XA events (MDEV-33668)
release row locks for non-modified rows at XA PREPARE (MDEV-33454)
Semi-sync Wait Point AFTER_COMMIT Slow on Workloads with Heavy Concurrency (MDEV-33551)
Galera updated to 26.4.18
NOTE: Includes increasing the GCS protocol version, which prevents downgrades of individual nodes in the cluster as soon as all nodes have been updated
Disallow bulk insert operation during partition update statement (MDEV-33979)
Transportable Tablespaces no longer leave AUTO_INCREMENT in a mismatched state (MDEV-18288)
Fix wrong row targeted with "insert ... on duplicate" and "replace", leading to data corruption (MDEV-30046)
Fix incorrect DEFAULT expression evaluated in UPDATE (MDEV-33790)
Fix server crash when UPDATE statement with duplicate key is run after setting a low thread_stack (MDEV-33622)
Fix incorrect handling of UPDATE in PS mode when a table's column declared as NOT NULL (MDEV-33549)
Fix crash in EXECUTE IMMEDIATE 'CREATE OR REPLACE TABLE t1 (a INT DEFAULT ?)' USING DEFAULT (MDEV-15703)
Fix wrong result on 2nd execution of PS to select from view using derived (MDEV-31277)
Fix wrong warnings on 2nd execution of PS for query with GROUP_CONCAT (MDEV-31276)
TIMESTAMP value of '1970-01-01 00:00:00' can no longer be indirectly inserted in strict mode (MDEV-34088)
Fix out of range error in AVG(YEAR(datetime)) due to a wrong data type (MDEV-33496)
Fix zero datetime reinterpreting as '1970-01-01 00:00:00' on field_datetime=field_timestamp (MDEV-34069)
unix_timestamp(coalesce(timestamp_column)) no longer returns NULL on '1970-01-01 00:00:00.000001' (MDEV-34061)
Fix crash using UDF in WHERE clause of VIEW (MDEV-24507)
Fix update for portion changes autoincrement key in period table (MDEV-25370)
Fix SIGABRT resulting from CREATE TABLE with generated column and RLIKE (MDEV-21058)
MariaDB-client community can't be installed in red hat ubi9 (MDEV-32791)
It's now possible to disable system commands with the mariadb --sandbox option. (MDEV-21778)
mariadb-dump now exports the data with sandbox mode enable, so that the mariadb client will not execute potentially dangerous cli commands.(MDEV-33727)
mariadb-dump commands such as mariadb-dump --dump-slave=2 --master-data=2
now record both positions (MDEV-4827)
Loading time zones now works with alter_algorithm INPLACE (MDEV-33044)
Moving from MariaDB 10.5 to 10.6 mysql_upgrade is not updating some system tables (MDEV-33726)
Original IP not shown in network related error messages when proxy_protocol is in use (MDEV-33506)
Server incorrectly describes known variables as UNKNOWN if invalid values are specified at startup (MDEV-33469)
update case insensitive (large) unique key with insensitive change of value - duplicate key (MDEV-29345)
MariaDB will abort server startup if it finds an invalid parameter, but won't check for other invalid params (MDEV-26923)
Slowdown when running nested statement with many partitions (MDEV-33502)
Fixes for the following security vulnerabilities:
For a complete list of changes made in MariaDB 11.4.2, with links to detailed information on each push, see the changelog.
For a full list of contributors to MariaDB 11.4.2, see the MariaDB Foundation release announcement.
This page is licensed: CC BY-SA / Gnu FDL
Alternate download from mariadb.org
Release date: 16 Feb 2024
Do not use non-stable (non-GA) releases in production!
MariaDB 11.4 is a current long-term development series of MariaDB. It is an evolution of MariaDB 11.3 with several entirely new features.
MariaDB 11.4.1 is a Release Candidate (RC) release.
For an overview of MariaDB 11.4 see the What is MariaDB 11.4? page.
Thanks, and enjoy MariaDB!
Unique hash key on column prefix is computed incorrectly (MDEV-29954)
Query from I_S.INNODB_SYS_INDEXES
exceeding LIMIT ROWS EXAMINED
causes ER_UNKNOWN_ERROR
and LeakSanitizer errors in rec_copy_prefix_to_buf_old
(MDEV-28613)
Assertion ``0'failed in
row_sel_convert_mysql_key_to_innobase upon UPDATE` using a partial-field key prefix in search (MDEV-21245)
Assertion failure on REPLACE
on ROW_FORMAT=COMPRESSED
table (MDEV-31574)
Crash emitting "Unsupported meta-data version number" error message (MDEV-29972)
LeakSanitizer errors in mem_heap_create_block_func
upon query from I_S.INNODB_SYS_TABLES
with LIMIT ROWS EXAMINED
(MDEV-32890)
Inplace alter rebuild increases file size (MDEV-26740)
BLOB
corruption on UPDATE
of PRIMARY KEY
with FOREIGN KEY
(MDEV-31441)
GNU libc posix_fallocate()
may be extremely slow (MDEV-32268)
InnoDB wrong error message (MDEV-32833)
Assertion failure on ALTER TABLE…PAGE_COMPRESSED=1
(MDEV-31000)
InnoDB after ALTER TABLE…IMPORT TABLESPACE
may not be crash safe (MDEV-32269)
InnoDB fails to restore tablespace first page from doublewrite buffer when page is empty (MDEV-32968)
innodb_fast_shutdown=0
hang after incomplete startup (MDEV-32798)
innodb_undo_log_truncate=ON
prevents fast shutdown (MDEV-33062)
Adaptive flush recommendation ignores dirty ratio and checkpoint age (MDEV-31939)
gcol.gcol_purge
contaminates further execution of innodb.gap_locks (MDEV-28682)
LPAD in vcol created in ORACLE mode makes table corrupted in non-ORACLE (MDEV-27744)
Adaptive flushing is still not getting invoked in 10.5.11 (MDEV-26055)
History list is not shrunk unless there is a pause in the workload (MDEV-33213)
path separator near ib_buffer_pool
incorrect (MDEV-32983)
Deadlock between buf_page_get_zip()
and buf_pool_t::corrupted_evict()
on InnoDB ROW_FORMAT=COMPRESSED
table corruption (MDEV-32371)
Empty INSERT crashes with innodb_force_recovery=6
or innodb_read_only=ON
(MDEV-31861)
Assertion ``end_lsn == page_lsn'failed in
recv_recover_page` (MDEV-33137)
Some calls to buf_read_ahead_linear()
seem to be useless (MDEV-32068)
Opening all .ibd
files on InnoDB startup can be slow (MDEV-32027)
InnoDB LRU flushing does not run before running out of buffer pool (MDEV-33053)
innodb_undo_log_truncate=ON
is blocking page writes (MDEV-33112)
mariadb-backup has wrong or missing plugin-dir default? (MDEV-29110)
mariadb-backup fails when innodb_max_dirty_pages_pct
contains a fraction (is not an integer) (MDEV-20286)
Missing required privilege CONNECTION ADMIN
(MDEV-33006)
If tables are frequently created, renamed, dropped, a backup cannot be restored (MDEV-32939)
New mariadb-dump option, -j
, --parallel=
--tab
option). Also added to mariadb-import, with --use-threads
as a synonym. (MDEV-32216)BACKUP LOCKS on table to be accessible to those with database LOCK TABLES privileges (MDEV-28367)
Wrong function name in ER_JSON_PATH_NO_WILDCARD
error message for JSON_REPLACE
(MDEV-24541)
JSON_VALID
fail to validate integer zero in scientific notation (MDEV-32587)
ASAN
errors in Item_func_json_contains_path::val_int
upon PS execution (MDEV-32867)
mysql_json
cannot be used on newly created table (MDEV-32235)
Problems with a stored function EMPTY()
on upgrade to 10.6 (MDEV-31616)
Thread (10.6+) and server hangs (10.4/10.5) in 'Opening tables' (on optimized builds) and SIGABRT in safe_mutex_lock
(on debug) on I_S
read when using Spider (MDEV-29421)
SIGSEGV in spider_db_mbase::append_lock_tables
on LOCK TABLES
(MDEV-29963)
ASAN
heap-use-after-free
in spider_link_get_key
on LOCK TABLES
(MDEV-31357)
Crash when lateral derived is guaranteed to return no rows (MDEV-31279)
Bogus error executing PS for query using CTE with renaming of columns (MDEV-31995)
Spider: Valid LEFT JOIN
results in ERROR 1064 (MDEV-26247)
Trying to lock uninitialized mutex or hang upon shutdown after using Spider with query_cache
(MDEV-28739)
Spider tests failing in asan/valgrind builds (MDEV-32849)
Backport fixes to spider init bugs to 10.4-10.6 once they have SQL service (MDEV-29870)
Server crash with SIGSEGV
or dynamic-stack-buffer-overflow
in spider_db_mbase_util::append_table
(MDEV-29163)
heap-use-after-free
in ha_spider::lock_tables()
, highly sporadic SIGSEGV
in intern_close_table
(MDEV-30014)
Syntax error upon query with subquery from Spider table (MDEV-30392)
Spider doesn't recognize semi JOIN
(MDEV-31645)
MariaDB, SPIDER engine, usage of REGEXP
(MDEV-32986)
Spider: variable spider_same_server_link
not functioning correctly (MDEV-29718)
Spider fails to autodiscover structure (did in <=10.5) and reports ERROR 12500
(HY000): unknown (MDEV-33008)
Spider spawns unnecessarily many system threads for stats synchronization (MDEV-29020)
Defaults for spider_table_crd_thread_count and spider_table_sts_thread_count changed from 10
to 1
SIGSEGV
in spider_db_delete_all_rows
on TRUNCATE
, UBSAN
: member call on null pointer of type 'struct spider_db_handler'
in spider_db_delete_all_rows
(MDEV-33191)
mariadb-upgrade fails with 'System table spider_tables is different version' => Can't create database 'performance_schema'
(MDEV-27103)
Spider: SIGSEGV in spider_db_direct_delete, SIGSEGV in spider_db_connect, ASAN: heap-use-after-free in spider_db_direct_delete (MDEV-28683)
No error for DROP TABLE
and no warning for DROP TABLE IF EXISTS
with absent table when Spider plugin is included (MDEV-30170)
ASAN
errors in spider_conn_queue_and_merge_loop_check
(MDEV-29002)
Crash caused by multi-table UPDATE over derived with hanging CTE (MDEV-28615)
Crash on query using CTE with the same name as a base table (MDEV-31657)
Crash with query using constant subquery as left part of IN subquery (MDEV-29362)
Incorrect result interceptor passed to mysql_explain_union()
(MDEV-33165)
Add optimizer_adjust_secondary_key_costs variable to influence how costs for secondary keys are calculated. (MDEV-33118)
INSERT ... SELECT
Does not produce an optimizer trace (MDEV-29298)
Unusable key notes do not get reported for some operations (MDEV-32958)
Unusable key notes report wrong predicates for >
and >=
(MDEV-32957)
ALTER SEQUENCE IF NOT EXISTS
non_existing_seq Errors rather than note (MDEV-32795)
Unexpected ER_ERROR_ON_RENAME
upon DROP
non-existing FOREIGN KEY
with ALGORITHM=COPY
(MDEV-22230)
FOREIGN_KEY_CHECKS
does not prevent non-copy alter from creating invalid FK structure (MDEV-29092)
Assertion !"wrong page type"'` or Assertion
"wrong page type" == 0'failed in
innobase_instant_tryon
ALTER` (MDEV-18322)
Assertion (col.vers_sys_end())
upon inplace ALTER
with virtual columns (MDEV-20545)
DELETE with ORDER BY
and semijoin optimization causing crash (MDEV-32212)
Invalid expr in cleanup_session_expr()
upon INSERT DELAYED (MDEV-29932)
SIGSEGV in my_decimal::operator= and Assertion
0'failed in
Item_type_holder::val_decimal` on SELECT (MDEV-29070)
LONG UNIQUE
does not work like unique key when using replace (MDEV-32837)
LONG UNIQUE
gives error when used with REPLACE
(MDEV-32839)
Backport MDEV-32532 to 10.6 (MDEV-32903)
Assertion ``0' failed in Item_type_holder::val_int` (MDEV-29494)
InnoDB: CHAR+nopad does not work well (MDEV-26743)
CAST(AS UNSIGNED)
fails with --view-protocol
(MDEV-32645)
JSON_ARRAYAGG
charset issue (MDEV-24784)
Server crash in my_decimal::operator=
or unexpected ER_DUP_ENTRY
upon comparison with INET6 and similar types (MDEV-32879)
The SQL Error Log Plugin can optionally (when sql_error_log_with_db_and_thread_info is enabled) include the thread ID and database / table in its log (MDEV-27087). NULL
is displayed if there is no database (MDEV-32906)
Backport SQL service, introduced by MDEV-19275 (MDEV-27595)
"plugin already loaded"
should be a Warning, not an Error (MDEV-32041)
mariadb-upgrade
should remove mysql.plugin
entries for plugins that became bundled (MDEV-32043)
Node has been dropped from the cluster on Startup / Shutdown with async replica (MDEV-31413)
Inconsistency in Galera caused by ALTER
being aborted before entering TOI mode (MDEV-32938)
Assertion ``total_length + thd->wsrep_sr().log_position() == saved_pos'failed in int
wsrep_write_cache_inc(THD*, IO_CACHE*, size_t*)` (MDEV-28971)
wsrep_provider_options
can be truncated on deep and long directory paths (MDEV-32634)
Server crashes in rpl_sql_thread_info::cached_charset_compare
/ wsrep_apply_events
(MDEV-22232)
Galera crash when "create a table as select"
(MDEV-27806)
Cluster is inconsistent after SAVEPOINT statement is rolled back (MDEV-32549)
WSREP GTID MODE
is inconsistent (MDEV-31905)
IST "Donor does not know my secret"
with ssl-mode=VERIFY_CA
(MDEV-32344)
Server crashes in Item_func_binlog_gtid_pos::val_str / Binary_string::c_ptr_safe
(MDEV-33045)
binlog corruption (/tmp no space left on device at the same moment) (MDEV-27436)
multi source replication filters breaking GTID semantic (MDEV-26632)
SHOW SLAVE STATUS
Can Deadlock an Errored Slave (MDEV-10653)
main.rpl_mysqldump_slave
Fails with "Master binlog wasn't deleted" Assertion (MDEV-32953)
rpl_seconds_behind_master_spike
Sensitive to IO Thread Stop Position (MDEV-33327)
Binlog Checksum is Zeroed by Zlib if Part of Event Data is Empty (MDEV-33283)
"Read semi-sync reply magic number error" warnings on master (MDEV-32551)
Second Semi-sync Replica Can Hang at Connect Time (MDEV-32792)
Semi-sync ACKed Transaction can Timeout and Switch Off Semi-sync with Multiple Replicas (MDEV-32960)
Semi-Sync Ack_Receiver Thread Should Allow COM_QUIT Command (MDEV-32385)
Add views for periods in information_schema (MDEV-22597), in particular
New view INFORMATION_SCHEMA.PERIODS
New view INFORMATION_SCHEMA.KEY_PERIOD_USAGE
New columns IS_SYSTEM_TIME_PERIOD_START
and IS_SYSTEM_TIME_PERIOD_END
in the INFORMATION_SCHEMA.COLUMNS view
As per the MariaDB Deprecation Policy, this will be the last release of MariaDB 11.4 for Fedora 37 and Ubuntu 23.04 "Lunar"
It is now possible to create partitions on tables that contain GEOMETRY types (MDEV-19177)
s3_debug is now dynamic, and s3_protocol_version contains new options, and old options have been deprecated (MDEV-32884)
New OLD_MODE value, NO_NULL_COLLATION_IDS
, a compatibility setting to support connectors (in particular MySQL Connector/NET) that give an exception when collation ids returned by SHOW COLLATION are NULL. It is automatically set when a MySQL Connector/NET connection is determined.
Using two temporary tables in OPTIMIZE TABLE
lead to crash (MDEV-31523)
REGEXP_REPLACE
treats empty strings different than REPLACE
in ORACLE mode (MDEV-29095)
CREATE UNIQUE INDEX
fails with "ERROR 1286 (42000): Unknown storage engine 'partition'" (MDEV-21618)
Failure when executing PS
for query using IN
subquery (MDEV-32569)
Potential memory leak on execuing of create view statement (MDEV-32466)
Assertion failures (MDEV-32965)
Two JSON related tests running in PS mode fail on server built with -DWITH_PROTECT_STATEMENT_MEMROOT=YES
(MDEV-32733)
Alter sequence 2nd ps fails while alter sequence 2nd time (no ps) succeeds (MDEV-33169)
Set TaskMax=inifinity
in the MariaDB systemd unit (MDEV-30236)
Unreliable autocommit flag on connection creation (MDEV-32875)
A connection can control RAND()
in following connection (MDEV-33148)
THD::rli_fake/rgi_fake
not cleared on new connection (MDEV-32844)
Assertion failures in tdc_remove_table
upon interrupted CREATE TABLE LIKE <sequence>
(MDEV-20471)
Server crash in find_field_in_table
(MDEV-32082)
LPAD
in vcol created in ORACLE
mode makes table corrupted in non-ORACLE (MDEV-27744)
Failure to call SP invoking another SP with parameter requiring type conversion (MDEV-33270)
The database part is not case sensitive in SP names (MDEV-33019)
EXCHANGE PARTITION
with non-matching vcol expression segfault (MDEV-28127)
Wrong user in SET DEFAULT ROLE
error (MDEV-26875)
quote(NULL)
returns incorrect result in view ('NU'
instead of 'NULL'
) (MDEV-28651)
mysql.slow_log
reports incorrect start time (MDEV-11628)
Update federated table and column privileges (MDEV-32984)
Deprecate secure_auth=0 (MDEV-32617)
sys schema view session_ssl_status
is empty (MDEV-32751)
Memory pressure (MDEV-24670)
Fixes for the following security vulnerabilities:
CVE-`-```
For a complete list of changes made in MariaDB 11.4.1, with links to detailed information on each push, see the changelog.
For a full list of contributors to MariaDB 11.4.1, see the MariaDB Foundation release announcement.
Do not use non-stable (non-GA) releases in production!
This page is licensed: CC BY-SA / Gnu FDL
Alternate download from mariadb.org
Release date: 24 December 2023
Do not use alpha releases in production!
MariaDB 11.4 is a long-term development series of MariaDB. It is an evolution of MariaDB 11.3 with several entirely new features.
MariaDB 11.4.0 is a single preview release. Features are to be considered preview, and none are guaranteed to make it into MariaDB 11.4.
The preview is available as a container quay.io/mariadb-foundation/mariadb-devel:11.4.
For an overview of MariaDB 11.4 see the What is MariaDB 11.4? page.
Thanks, and enjoy MariaDB!
ALTER TABLE … EXCHANGE PARTITION and ALTER TABLE … CONVERT TABLE … TO now support the WITH VALIDATION
and WITHOUT VALIDATION
clauses. If neither is specified, the default behavior is WITH VALIDATION
(MDEV-22164)
New view sys.privileges_by_table_by_level shows granted privileges broken down by table on which they allow access and level on which they were granted. For example, if a user x
has SELECT
privilege granted ON db.*
, this view will list all tables in the db
schema with the user x
having SELECT
privilege on them. This is different from INFORMATION_SCHEMA.TABLE_PRIVILEGES, which only lists privileges granted on the table level (MDEV-24486)
Not only ascending, but also descending indexes can now be used to optimize MIN() and MAX() (MDEV-27576)
The preferred way to specify Spider parameters is to use the dedicated Spider table options (implemented in MariaDB 11.3). Abusing the table COMMENT
clause is now deprecated (MDEV-28861)
CONV() function now supports conversion up to base 62 (MDEV-30879)
Added support for packages (CREATE PACKAGE) outside of ORACLE sql_mode (MDEV-32101)
Remove thr_alarm from server codebase
Includes removal of the debug_no_thread_alarm system variable (MDEV-32567)
Binary log writing speed was improved by moving checksum calculations out of the global binlog mutex (MDEV-31273). This is a contribution by Kristian Nielsen
New system variable max_binlog_total_size enables binary log purging when the total size of all binary logs exceeds the specified threshold. The implementation is based on the patch from Percona (MDEV-31404)
New system variable slave_connections_needed_for_purge disables binary log purging until the number of connected slaves reaches the specified threshold (MDEV-31404).
FULL_NODUP
is a new value for the binlog_row_image system variable. It essentially works like FULL
, that is all columns are included in the event, but it takes less space, because the after image omits columns that were not changed by the UPDATE
statement, and have same values as in the before image. This is a contribution from Alibaba (MDEV-32589)
mariadb-binlog --flashback support for the FULL_NODUP mode. This is a contribution from Alibaba (MDEV-32894).
MariaDB can optionally maintain a special index of GTIDs and their location in the binary log. If enabled (the default), it allows finding very quickly where a new connecting replica should start replicating from. Without an index, this required scanning the binlog. This is a contribution by Kristian Nielsen (MDEV-4991).
Note that this feature was not included in MariaDB 11.4. GTID events in the binary log now include connection id of the client connection that generated the event. This allows mariadb-binlog to tag all row events with a corresponding connection id (MDEV-7850).
The TIMESTAMP range of values was extended. The maximal allowed value for timestamps was '2038-01-19 03:14:07 UTC', and is now '2106-02-07 06:28:15 UTC'. This does not change the storage format, and new tables can be read by old MariaDB servers as long as timestamp values are within the old timestamp range. At the moment this is only supported on 64-bit platforms (MDEV-32188). This was not included in MariaDB 11.4.
This page is licensed: CC BY-SA / Gnu FDL