MySQL发布5.1系列最新GA 5.1.63 .2012-05-06 上一个版本是2012-03-22的5.1.62 其他产品线还是2012-04-12的5.5.23 和2012-03-22的5.0.96 修正几个安全漏洞及InnoDB的改进。
Security Fix: Bug #64884 was fixed.
Security Fix: Bug #59387 was fixed.
InnoDB: Deleting a huge amount of data from
InnoDBtables within a short time could cause the purge operation that flushes data from the buffer pool to stall. If this issue occurs, restart the server to work around it. This issue is only likely to occur on 32-bit platforms. (Bug #13847885)
InnoDB: If the server crashed during a
CREATE INDEXstatement for an
InnoDBtable, or a
DROP DATABASEstatement for a database containing
InnoDBtables, an index could be corrupted, causing an error message when accessing the table after restart:
InnoDB: Error: trying to load index
table_nameInnoDB: but the index tree has been freed!
In MySQL 5.1, this fix applies to the InnoDB Plugin, but not the built-in InnoDB storage engine. (Bug #12861864, Bug #11766019)
InnoDB: When data was removed from an
InnoDBtable, newly inserted data might not reuse the freed disk blocks, leading to an unexpected size increase for the system tablespace or
.ibdfile (depending on the setting of
OPTIMIZE TABLEcould compact a
.ibdfile in some cases but not others. The freed disk blocks would eventually be reused as additional data was inserted. (Bug #11766634, Bug #59783)
Partitioning: After updating a row of a partitioned table and selecting that row within the same transaction with the query cache enabled, then performing a
ROLLBACK, the same result was returned by an identical
SELECTissued in a new transaction. (Bug #11761296, Bug #53775)
--relay-log-space-limitoption was sometimes ignored.
More specifically, when the SQL thread went to sleep, it allowed the I/O thread to queue additional events in such a way that the relay log space limit was bypassed, and the number of events in the queue could grow well past the point where the relay logs needed to be rotated. Now in such cases, the SQL thread checks to see whether the I/O thread should rotate and provide the SQL thread a chance to purge the logs (thus freeing space).
Note that, when the SQL thread is in the middle of a transaction, it cannot purge the logs; it can only ask for more events until the transaction is complete. Once the transaction is finished, the SQL thread can immediately instruct the I/O thread to rotate. (Bug #12400313, Bug #64503)
References: See also Bug #13806492.
NO_BACKSLASH_ESCAPESSQL mode within stored procedures on slave servers could cause replication failures. (Bug #12601974)
If the system time was adjusted backward during query execution, the apparent execution time could be negative. But in some cases these queries would be written to the slow query log, with the negative execution time written as a large unsigned number. Now statements with apparent negative execution time are not written to the slow query log. (Bug #63524, Bug #13454045)
References: See also Bug #27208.
mysql_use_result()are not for use with prepared statements and are not intended to be called following
mysql_stmt_execute(), but failed to return an error when invoked that way in
libmysqld. (Bug #62136, Bug #13738989)
References: See also Bug #47485.
SHOWstatements treated stored procedure, stored function, and event names as case sensitive. (Bug #56224, Bug #11763507)
On Windows, mysqlslap crashed for attempts to connect using shared memory. (Bug #31173, Bug #11747181, Bug #59107, Bug #11766072)