Beginning with MySQL 5.5.18, Debian packages for MySQL are available.
Functionality Added or Changed
Functionality Added or Changed
Upgrading from an
Advanced GPL RPM package to an
Advanced RPM package did not work. Now on Linux it is possible to use rpm -U to replace any installed MySQL product by any other of the same release family. It is not necessary to remove the old produce with rpm -e first. (Bug #11886309)
Performance; InnoDB: The process of deallocating the
InnoDB Adaptive Hash Index was made faster, during shutdown or when turning off the AHI with the statement:
SET GLOBAL innodb_adaptive_hash_index=OFF;
(Bug #13006367, Bug #62487)
Incompatible Change; Replication: The statements in the following list are now marked as unsafe for statement-based replication. This is due to the fact that each of these statements depends on the results of a
SELECT statement whose order cannot always be determined. When using
STATEMENT logging mode, a warning is issued in the binary log for any of these statements; when using
MIXED logging mode, the statement is logged using the row-based format.
INSERT ... SELECT
... ON DUPLICATE KEY UPDATE
REPLACE ... SELECT
CREATE TABLE ... IGNORE SELECT
CREATE TABLE ... REPLACE SELECT
INSERT IGNORE ... SELECT
When upgrading, you should note the use of these statements in your applications, keeping in mind that a statement that inserts or replaces rows obtained from a
SELECT can take up many times as much space in the binary log when logged using row-based format than when only the statement itself is logged. Depending on the number and size of the rows selected and inserted (or replaced) by any such statements, the difference in size of the binary log after the logging of these statements is switched from statement-based to row-based can potentially be several orders of magnitude. See Advantages and Disadvantages of Statement-Based and Row-Based Replication. (Bug #11758262, Bug #50439)
InnoDB: Fixed a compilation problem that affected the
InnoDB source code with
gcc 4.6.1. The affected
InnoDB source file was
btr/btr0cur.c. (Bug #13116045)
UPDATE statement for an
InnoDB table could hang. The issue affects tables using the Barracuda file format and having multiple indexes on column prefixes. The size of an undo log record could exceed the page size, even though the total size of the column prefixes was less than the page size (usually 16KB). In MySQL 5.5 and higher, this error is now reported using the new code
ER_UNDO_RECORD_TOO_BIG. In MySQL 5.1 with the InnoDB Plugin, this error is reported using the existing code
ER_TOO_BIG_ROWSIZE. (Bug #12547647)
Replication: A replication master could send damaged events to slaves after the binary log disk on the master became full. To correct this issue, only complete events are now pushed by the master dump thread to the slave I/O thread. In addition, the error text that the master sends to the slave when an incomplete event is found now states that the incomplete event may have been caused by running out of disk space on the master, and provides coordinates of the first and the last event bytes read. (Bug #11747416, Bug #32228)
References: See also Bug #64035, Bug #13593869.
During the table-opening process, memory was allocated and later freed that was needed view loading, even for statements that did not use views. These unnecessary allocation and free operations are no longer done. (Bug #13116518)
mysql_plugin mishandled the
--my-print-defaults options under some circumstances. (Bug #12968815)
mysql_plugin returned the wrong error code from failed server bootstrap execution. (Bug #12968567)
Several improvements were made to the
libedit library bundled with MySQL distributions, and that is available for all platforms that MySQL supports except Windows.
Navigation keys did not work for UTF-8 input.
Word navigation and delete operations did not work for UTF-8 input with Cyrillic characters.
Nonlatin characters were corrupted in overwrite mode for UTF-8 input.
Long queries caused the statement history file to become corrupted.
The Alt key caused history operations to fail.
(Bug #12605400, Bug #12613725, Bug #12618092, Bug #12624155, Bug #12617651, Bug #12605388)
decimal_round() could cause a server exit when processing long numeric strings. (Bug #12563865)
ARCHIVE tables with
NULL columns could cause server crashes or become corrupt under concurrent load. (Bug #51252, Bug #11758979)
OPTIMIZE TABLE could corrupt
MyISAM tables if
myisam_use_mmap was enabled. (Bug #49030, Bug #11757032)
A query that selected a
GROUP_CONCAT() function result could return different values depending on whether an
ORDER BY of the function result was present. (Bug #41090, Bug #11750518)
FEDERATED tables, loss of connection to the remote table during some insert operations could cause a server crash. (Bug #34660, Bug #11747970)