Bugs fixed:
Important Change: Security Fix: Additional corrections were made for the symlink-related privilege problem originally addressed in MySQL 5.0.60. 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. (Bug#32167, CVE-2008-2079)
See also Bug#39277.
Incompatible Change:
There were some problems using DllMain()
hook functions on Windows that automatically do global and
per-thread initialization for
libmysqld.dll
:
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.)
Process-initialization:
my_init()
calls
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
invoked from libmysql.dll
by default. To
obtain the previous behavior (DLL initialization code will be
called), set the LIBMYSQL_DLLINIT
environment
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 LIBMYSQL_DLLINIT
is
discouraged and is removed in MySQL 6.0.
(Bug#37226, Bug#33031)
Incompatible Change:
SHOW STATUS
took a lot of CPU
time for calculating the value of the
Innodb_buffer_pool_pages_latched
status variable. Now this variable is calculated and included in
the output of SHOW STATUS
only if
the UNIV_DEBUG
symbol is defined at MySQL
build time.
(Bug#36600)
Incompatible Change:
In connection with view creation, the server created
arc
directories inside database directories
and maintained useless copies of .frm
files
there. Creation and renaming procedures of those copies as well
as creation of arc
directories has been
discontinued.
This change does cause a problem when downgrading to older server versions which manifests itself under these circumstances:
Create a view v_orig
in MySQL 5.0.72 or
higher.
Rename the view to v_new
and then back to
v_orig
.
Downgrade to an older 5.0.x server and run mysql_upgrade.
Try to rename v_orig
to
v_new
again. This operation fails.
As a workaround to avoid this problem, use either of these approaches:
Dump your data using mysqldump before downgrading and reload the dump file after downgrading.
Instead of renaming a view after the downgrade, drop it and recreate it.
The downgrade problem introduced by the fix for this bug has been addressed as Bug#40021. (Bug#17823)