Performance: Incompatible Change:
Some performance problems of
SHOW ENGINE INNODB
STATUS were reduced by removing
Total number of lock structs in row
lock hash table from the output. Now these values are
present only if the
UNIV_DEBUG symbol is
defined at MySQL build time.
Important Change: Security Fix: Additional corrections were made for the symlink-related privilege problem originally addressed in MySQL 5.1.24. The original fix did not correctly handle the data directory path name if it contained symlinked directories in its path, and the check was made only at table-creation time, not at table-opening time later.
Additional fixes were made in MySQL 5.1.41.
See also Bug#39277.
There were some problems using
hook functions on Windows that automatically do global and
per-thread initialization for
Per-thread initialization: MySQL internally counts the
number of active threads, which causes a delay in
my_end() if not all threads have
exited. But there are threads that can be started either by
Windows internally (often in TCP/IP scenarios) or by users.
Those threads do not necessarily use
libmysql.dll functionality but still
contribute to the open-thread count. (One symptom is a
five-second delay in times for PHP scripts to finish.)
WSAStartup that itself loads DLLs and
can lead to a deadlock in the Windows loader.
To correct these problems, DLL initialization code now is not
libmysql.dll by default. To
obtain the previous behavior (DLL initialization code will be
called), set the
variable to any value. This variable exists only to prevent
breakage of existing Windows-only applications that do not call
mysql_thread_init() and work
okay today. Use of
discouraged and is removed in MySQL 6.0.
SHOW STATUS took a lot of CPU
time for calculating the value of the
status variable. Now this variable is calculated and included in
the output of
SHOW STATUS only if
UNIV_DEBUG symbol is defined at MySQL
An additional correction to the original MySQL 5.1.23 fix was
made to normalize directory names before adding them to the list
of directories. This prevents
/etc from being considered different, for
See also Bug#38180.