MySQL 5.5.30发布。2013-01-30 之前的版本是2012-12-21的5.5.29.其他产品线还是5.1.67 5.0.96。
完全改进:
Changes in MySQL 5.5.30
Functionality Added or Changed
-
InnoDB: The innodb_print_all_deadlocks configuration option from MySQL 5.6 was backported to MySQL 5.5. This option records each deadlock condition in the MySQL error log, allowing easier troubleshooting if frequent deadlocks point to application coding issues. (Bug #14515889)
-
In RPM packages built for Unbreakable Linux Network,libmysqld.sonow has a version number. (Bug #15972480)
Bugs Fixed
-
InnoDB; Performance: Some data structures related to undo logging could be initialized unnecessarily during a query, although they were only needed under specific conditions. (Bug #14676084)
-
InnoDB; Performance: Optimized read operations for compressed tables by skipping redundant tests. The check for whether any related changes needed to be merged from the insert buffer was being called more often than necessary. (Bug #14329288, Bug #65886)
-
InnoDB; Performance: Immediately after a table was created, queries against it would not use loose index scans . The issue went away following anALTER TABLEon the table. The fix improves the accuracy of the index statistics gathered when the table is first created, and prevents the query plan from being changed by theALTER TABLEstatement. (Bug #14200010)
-
InnoDB; Partitioning: Previously, when attempting to optimize one or more partitions of a partitioned table that used a storage engine that does not support partition-levelOPTIMIZE, such asInnoDB, MySQL reported Table does not support optimize, doing recreate + analyze instead , then re-created the entire table, but did not actually analyze it. Now in such cases, the warning message is, Table does not support optimize on partitions. All partitions will be rebuilt and analyzed. In addition, the entire table is analyzed after first being rebuilt. (Bug #11751825)
-
InnoDB: On systems that cannot handle unaligned memory access, depending on the stack frame alignment, aSIGBUSerror could occur during startup. This issue was observed on Solaris 64-bit systems. (Bug #16021177)
-
InnoDB: The status variableInnodb_buffer_pool_read_ahead_evictedcould show an inaccurate value, higher than expected, because some pages in the buffer pool were incorrectly considered as being brought in by read-ahead requests. (Bug #15859402, Bug #67476)
-
InnoDB: Creating an index on aCHARcolumn could fail for a table with a character set with varying length, such asUTF-8, if the table was created with theROW_FORMAT=REDUNDANTclause. (Bug #15874001)
-
InnoDB: The server could halt with an assertion error while creating an index:
InnoDB: Assertion failure in thread thread_num in file row0merge.cc line 465
This issue affected tables with a combination ofROW_FORMAT=REDUNDANT off-page columns , and an index on a column prefix . (Bug #14753402)
-
InnoDB: If the server crashed at a precise moment during anALTER TABLEoperation that rebuilt the clustered index for anInnoDBtable, the original table could be inaccessible afterward. An example of such an operation isALTER TABLE ... ADD PRIMARY KEYThe fix preserves the original table if the server halts during this operation. You might still need to rename the.ibdfile manually to restore the original table contents: in MySQL 5.6 and higher, rename from#sql-ib$ new_table_id .ibdto table_name .ibdwithin the database directory; prior to MySQL 5.6, the temporary file to rename is table_name #1or#2. (Bug #14669848)
-
InnoDB: An error at the filesystem level, such as too many open files, could cause an unhandled error during anALTER TABLEoperation. The error could be accompanied by Valgrind warnings, and by this assertion message:
Assertion `! is_set()' failed. mysqld got signal 6 ;
(Bug #14628410, Bug #16000909)
-
InnoDB: ARENAME TABLEstatement could stall for several minutes before timing out. This issue could occurred for a table using compression , with change buffering enabled. (Bug #14556349)
-
InnoDB: During shutdown, with theinnodb_purge_threadsconfiguration option set greater than 1, the server could halt prematurely with this error:
mysqld got signal 11
A workaround was to increaseinnodb_log_file_sizeand setinnodb_purge_threads=1. The fix was backported to MySQL 5.5 and 5.1, although those versions do not have theinnodb_purge_threadsconfiguration option so the error was unlikely to occur. (Bug #14234028)
-
InnoDB: If the value ofinnodb_force_recoverywas less than 6, opening a corrupted table might loop forever if a corrupted page was read when calculating statistics for the table. Information about the corrupted page was written repeatedly to the error log, possibly causing a disk space issue. The fix causes the server to halt after a fixed number of failed attempts to read the page. To troubleshoot such a corruption issue, setinnodb_force_recovery=6and restart. (Bug #14147491, Bug #65469)
-
InnoDB: The value of theinnodb_versionvariable was not updated consistently for all server releases for the InnoDB Plugin in MySQL 5.1, and the integratedInnoDBcomponent in MySQL 5.5, 5.6, and higher. SinceInnoDBand MySQL Server development cycles are fully integrated and synchronized, now the value returned by theinnodb_versionvariable is the same as for theversionvariable. (Bug #13463493, Bug #63435)
-
Partitioning: ConcurrentALTER TABLE ... REBUILD PARTITIONoperations could interfere with one another, even when not running against the same table, because they both used global memory for storage. Now each partition rebuild operation stores intermediate data in memory that is local to that process. (Bug #14589559, Bug #66645)
-
Partitioning: Inserting any number of rows into anARCHIVEtable that used more than 1000 partitions and then attempting to drop the table caused the MySQL Server to fail. (Bug #13819630, Bug #64580)
-
Replication: After dropping a column from the slave's version of a table, then altering the same column of this table on the master (so that a type conversion would have been required had the column not been droppped on the slave), inserts into this table caused replication to fail. (Bug #15888454)
-
Replication: When a binary log is replayed on a server (for example, by executing a command like mysqlbinlog binlog.000001| mysql ), it sets a pseudo-slave mode on the client connection used, so that the server can read binlog and apply binary log events correctly. However, the pseudo-slave mode was not disabled after the binary log dump was read, which caused unexpected filtering rules to be applied to SQL statements subsequently executed on the same connection. (Bug #15891524)
-
Replication: When using statement-based replication, and where the master and the slave used table schemas having differentAUTO_INCREMENTcolumns, inserts generatingAUTO_INCREMENTvalues logged for a given table on the master could be applied to the wrong table on the slave. (Bug #12669186)
-
Replication: Repeated execution ofCHANGE MASTER TOstatements using invalidMASTER_LOG_POSvalues could lead to errors and possibly a crash on the slave. Now in such cases, the statement fails with a clear error message. (Bug #11764602, Bug #57454)
-
Replication: If the disk becomes full while writing to the binary log, the server hangs until space is freed up manually. It was possible after this was done for the MySQL server to fail, due to an internal status value being set when not needed. Now in such cases, rather than trying to set this status, a warning is written in the error log instead. (Bug #11753923, Bug #45449)
-
Microsoft Windows: Dynamic file names (with colons) are no longer allowed. Static file names using the Alternate Data Stream (ADS) NTFS functionality of Microsoft Windows may continue to be used. (Bug #11761752)
-
Directory name manipulation could result in stack overflow on Mac OS X and Windows. (Bug #16066243)
-
Joins of exactly 32 tables and containing aHAVINGclause returned an empty result. (Bug #15972635)
-
A buffer-handling problem in yaSSL was fixed. (Bug #15965288)
-
Amysyslibrary string-formatting routine could mishandle width specifiers. (Bug #15960005)
-
In certain cases,UpdateXML()could returnNULLincorrectly. (Bug #15948580)
References: See also Bug #13007062.
-
Metadata locking and table definition cache routines did not always check length of names passed to them. (Bug #15954872)
-
XA STARThad a race condition that could cause a server crash. (Bug #14729757)
-
Enabling the query cache during high client contention could cause the server to exit. (Bug #14727815)
-
There was a performance regression for queries usingSELECT ... INTOuser variables and aWHEREcondition on one or more of the variables in theINTOlist. (Bug #14664077)
References: This bug was introduced by Bug #12408412.
-
The server sometimes failed to respectMAX_CONNECTIONS_PER_HOURlimits on user connections. (Bug #14627287)
-
Output generated with mysqldump --routines could produce syntax errors when reloaded. (Bug #14463669)
-
With the thread pool plugin installed, a workload consisting of concurrentKILLstatements and ping queries caused the server to exit. (Bug #14458232, Bug #14458002)
-
CHECK TABLEandREPAIR TABLEcould crash if aMyISAMtable had a corrupt key (.MYI) file. Now the server produces an error. (Bug #13556107, Bug #13556000)
-
Passing an unknown time zone specification toCONVERT_TZ()resulted in a memory leak. (Bug #12347040)
-
For dumps of themysqldatabase, mysqldump skipped theeventtable unless the--eventsoption was given. To skip this table if that is desired, use the--ignore-tableoption instead (Bug #55587, Bug #11762933)
-
ForMEMORYtables withHASHindexes,DELETEsometimes failed to delete all applicable rows. (Bug #51763, Bug #11759445)
-
The mysql client could mishandle thedelimitercommand if it occurred on a line during whichmysqlwas looking for the end of a quoted string. (Bug #64135, Bug #13639125)
-
mysqld_safe used the nonportable-etest construct. (Bug #67976, Bug #16046140)
-
Configuring the server withperformance_schema_events_waits_history_size=0andperformance_schema_events_waits_history_long_size=0could cause a Performance Schema segmentation fault. (Bug #68008, Bug #16060864)
-
DECIMALmultiplication operations could produce significant inaccuracy. (Bug #45860, Bug #11754279)
-
For subqueries executing using afilesort, the optimizer could produce an incorrect result containing wrong rows. (Bug #66845, Bug #14636211)
References: See also Bug #12667154.
-
UNIONtype conversion could incorrectly turn unsigned values into signed values. (Bug #49003, Bug #11757005)
-
During the startup process, mysqld could incorrectly remove the PID file of an already running mysqld . (Bug #23790, Bug #11746142)
References: See also Bug #14726272.
下载:ftp://mirror.switch.ch/mirror/mysql/Downloads/MySQL-5.5/mysql-5.5.30.tar.gz