MySQL 5.1.32
MySQL 5.1.32 es un sistema de gestión de base de datos relacional, multihilo y multiusuario.

MySQL es muy utilizado en aplicaciones web como MediaWiki o Drupal, en plataformas (Linux/Windows-Apache-MySQL-PHP/Perl/Python), y por herramientas de seguimiento de errores como Bugzilla.
MySQL es una base de datos muy rápida en la lectura cuando utiliza el motor no transaccional MyISAM, pero puede provocar problemas de integridad en entornos de alta concurrencia en la modificación.
Enlace|mysql.com
Descargar Gratis|MySQL 5.1.32 Windows
Lista de Cambios en MySQL 5.1.32:
Important Change: Replication: RESET MASTER and RESET SLAVE now reset the values shown for Last_IO_Error, Last_IO_Errno, Last_SQL_Error, and Last_SQL_Errno in the output of SHOW SLAVE STATUS. (Bug#34654)
libedit library was upgraded to version 2.11. (Bug#42433)Bugs fixed:
- Security Fix: Using an XPath expression employing a scalar expression as a FilterExpr with
ExtractValue()orUpdateXML()caused the server to crash. Such expressions now cause an error instead. (Bug#42495) - Incompatible Change: The fix for Bug#33699 introduced a change to the
UPDATEstatement such that assigningNULLto aNOT NULLcolumn caused an error even when strict SQL mode was not enabled. The original behavior before was that such assignments caused an error only in strict SQL mode, and otherwise set the column to the the implicit default value for the column data type and generated a warning. (For information about implicit default values, see Section 10.1.4, “Data Type Default Values”.)The change caused compatibility problems for applications that relied on the original behavior. It also caused replication problems between servers that had the original behavior and those that did not, for applications that assigned
NULLtoNOT NULLcolumns inUPDATEstatements without strict SQL mode enabled. This change has been reverted so thatUPDATEagain had the original behavior. Problems can still occur if you replicate between servers that have the modifiedUPDATEbehavior and those that do not. (Bug#39265) - Replication:
START SLAVE UNTILdid not work correctly with--replicate-same-server-idenabled; when started with this option, the slave did not perform events recorded in the relay log and that originated from a different master.Log rotation events are automatically generated and written when rotating the binary log or relay log. Such events for relay logs are usually ignored by the slave SQL thread because they have the same server ID as that of the slave. However, when
--replicate-same-server-idwas enabled, the rotation event for the relay log was treated as if it originated on the master, because the log’s name and position were incorrectly updated. This caused theMASTER_POS_WAIT()function always to returnNULLand thus to fail. (Bug#38734, Bug#38934) - Replication:
TRUNCATEstatements failed to replicate when statement-based binary logging mode was not available. The issue was observed when usingInnoDBwith the transaction isolation level set toREAD UNCOMMITTED(thus forcingInnoDBnot to allow statement-based logging). However, the same behavior could be reproduced using any transactional storage engine supporting only row-based logging, regardless of the isolation level. This was due to two separate problems:- An error was printed by
InnoDBforTRUNCATEwhen using statement-based logging mode where the transaction isolation level was set toREAD COMMITTEDorREAD UNCOMMITTED, becauseInnoDBpermits statement-based replication for DML statements. However,TRUNCATEis not transactional; since it is the equivalent ofDROP TABLEfollowed byCREATE TABLE, it is actually DDL, and should therefore be allowed to be replicated as a statement. TRUNCATEwas not logged in mixed mode because of the error just described; however, this error was not reported to the client.
As a result of this fix,
TRUNCATEis now treated as DDL for purposes of binary logging and replication; that is, it is always logged as a statement and so no longer causes an error when replicated using a transactional storage engine such asInnoDB. (Bug#36763)See also Bug#42643.
- An error was printed by
- Replication: mysqlbinlog replay of
CREATE TEMPORARY TABLE ... LIKEstatements and ofTRUNCATEstatements used on temporary tables failed with Error 1146 (Table … doesn’t exist). (Bug#35583) - Replication: In statement mode, mysqlbinlog failed to issue a
SET @@autommitstatement when the autocommit mode was changed. (Bug#34541) - Replication:
LOAD DATA INFILEstatements did not replicate correctly from a master running MySQL 4.1 to a slave running MySQL 5.1 or later. (Bug#31240) - A
'%'character in SQL statements could cause the server to crash. (Bug#42634) - An optimization introduced for Bug#37553 required an explicit cast to be added for some uses of
TIMEDIFF()because automatic casting could produce incorrect results. (It was necessary to useTIME(TIMEDIFF(...)).) (Bug#42525) - On the IBM i5 platform, the MySQL configuration process caused the system version of
pthread_setschedprio()to be used. This function returnsSIGILLon i5 because it is not supported, causing the server to crash. Now themy_pthread_setprio()function in themysyslibrary is used instead. (Bug#42524) - The SSL certficates included with MySQL distributions were regenerated because the previous ones had expired. (Bug#42366)
- Packages for MySQL Cluster were missing the
libndbclient.soandlibndbclient.afiles. (Bug#42278) - User variables within triggers could cause a crash if the
mysql_change_user()C API function was invoked. (Bug#42188) - Dependent subqueries such as the following caused a memory leak proportional to the number of outer rows:
SELECT COUNT(*) FROM t1, t2 WHERE t2.b IN (SELECT DISTINCT t2.b FROM t2 WHERE t2.b = t1.a);
(Bug#42037)
- Some queries using
NAME_CONST(.. COLLATE ...)led to a server crash due to a failed type cast. (Bug#42014) - On Mac OS X, some of the universal client libraries were not actually universal and were missing code for one or more architectures. (Bug#41940)
- String reallocation could cause memory overruns. (Bug#41868)
- Setting
innodb_locks_unsafe_for_binlogshould be equivalent to setting the transaction isolation level toREAD COMMITTED. However, if both of those things were done, non-matching semi-consistently read rows were not unlocked when they should have been. (Bug#41671) REPAIR TABLEcrashed for compressedMyISAMtables. (Bug#41574)- For a
TIMESTAMP NOT NULL DEFAULT ...column, storingNULLas the return value from some functions caused a “cannot be NULL” error.NULLreturns now correctly cause the column default value to be stored. (Bug#41370) - The server cannot execute
INSERT DELAYEDstatements when statement-based binary logging is enabled, but the error message displayed only the table name, not the entire statement. (Bug#41121) FULLTEXTindexes did not work for Unicode columns that used a custom UCA collation. (Bug#41084)- The Windows installer displayed incorrect product names in some images. (Bug#40845)
SELECTstatements could be blocked byINSERT DELAYEDstatements that were waiting for a lock, even withlow_priority_updatesenabled. (Bug#40536)- The query cache stored only partial query results if a statement failed while the results were being sent to the client. This could cause other clients to hang when trying to read the cached result. Now if a statement fails, the result is not cached. (Bug#40264)
- When a
MEMORYtable became full, the error generated was returned to the client but was not written to the error log. (Bug#39886) - The expression
ROW(...) IN (SELECT ... FROM DUAL)always returnedTRUE. (Bug#39069) - The greedy optimizer could cause a server crash due to improper handling of nested outer joins. (Bug#38795)
- Use of
COUNT(DISTINCT)preventedNULLtesting in theHAVINGclause. (Bug#38637) - Enabling the
sync_frmsystem variable had no effect on the handling of.frmfiles for views. (Bug#38145) - Setting
myisam_repair_threadsgreater than 1 caused a server crash for table repair or alteration operations forMyISAMtables with multipleFULLTEXTindexes. (Bug#37756) - The mysql client sometimes improperly interpreted string escape sequences in non-string contexts. (Bug#36391)
- The query cache stored packets containing the server status of the time when the cached statement was run. This might lead to an incorrect transaction status on the client side if a statement was cached during a transaction and later served outside a transaction context (or vice versa). (Bug#36326)
- 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#35396)
libmysqldwas not built with all character sets. (Bug#32831)- For mysqld_multi, using the
--mysqld=mysqld_safeoption caused the--defaults-fileand--defaults-extra-fileoptions to behave the same way. (Bug#32136) - For Solaris package installation using pkgadd, the postinstall script failed, causing the system tables in the
mysqldatabase not to be created. (Bug#31164) - If the default database was dropped, the value of
character_set_databasewas not reset tocharacter_set_serveras it should have been. (Bug#27208)







