MySQL 5.7 Release Notes
Windows builds now use the default runtime libraries (builds use
the /MD flag).
(Bug #25611609)
CMake support was added for compiling with
Developer Studio 12.6.
(Bug #25384295)
MySQL failed to compile if
-DENABLE_DEBUG_SYNC=OFF AND
-DWITH_DEBUG=ON were both given. The
ENABLE_DEBUG_SYNC option has been removed and
enabling WITH_DEBUG enables Debug
Sync.
(Bug #18374703)
PROCEDURE ANALYSE() syntax is now deprecated
and is removed in MySQL 8.0.
(WL #4745)
The --temp-pool server option is deprecated and
will be removed in MySQL 8.0.
(WL #8396)
The replace utility is deprecated and will be removed in MySQL 8.0. If you wish to continue using this utility, be sure to retain a copy from an installed version of MySQL. (WL #9874)
The use of \N as a synonym for
NULL in SQL statements is deprecated and is
removed in MySQL 8.0. Use NULL instead.
This change does not affect text file import or export
operations performed with LOAD
DATA or
SELECT ... INTO
OUTFILE, for which NULL continues
to be represented by \N. See
LOAD DATA Statement.
(WL #7247)
Support for DTrace is deprecated and is removed in MySQL 8.0. (WL #9581)
The keyring_okv plugin no longer supports RSA
or DSA key types.
(Bug #25540639)
The keyring_okv keyring plugin now can use
the SafeNet KeySecure Appliance as the KMIP back end for keyring
storage. For instructions, see
Using the keyring_okv KMIP Plugin.
(WL #9772)
Microsoft Windows: Reminder: MySQL 5.7 requires the Microsoft Visual C++ 2013 Redistributable Package to run on Windows platforms. Users should make sure the package has been installed on the system before starting the server. The package is available at the Microsoft Download Center.
Changes in RPM package structure require a larger set of packages to be removed to install MySQL Server cleanly. (Bug #25603087)
To avoid potential race conditions, Debian packages now use the GNU install utility rather than a combination of mkdir, touch, and chown. (Bug #25258829)
The my-default.cnf.sh file (used to produce
a default my-default.cnf or
my-default.ini file) is no longer included
in source distributions and my-default.cnf
and my-default.ini are no longer included
in or installed by distribution packages.
(Bug #22525354)
The linked OpenSSL library for the MySQL Commercial Server has been updated to version 1.0.2k. Issues fixed in the new OpenSSL version are described at http://www.openssl.org/news/vulnerabilities.html.
This change does not affect the Oracle-produced MySQL Community build of MySQL Server, which uses the yaSSL library instead. (Bug #25768671, Bug #25615451)
To improve thread_pool plugin performance,
connection authentication and initialization have been moved
from the acceptor thread to the thread pool worker threads that
handle client connections. This enables the acceptor thread to
handle new connections at a higher rate with reduced latency.
The INFORMATION_SCHEMA
TP_THREAD_GROUP_STATE table now
contains a CONNECT_THREAD_COUNT column that
indicates the number of threads that are processing or waiting
to process connection initialization and authentication. There
can be a maximum of four connection threads per thread group;
these threads expire after a period of inactivity.
(Bug #17159742, WL #7195, WL #10287)
The MYSQLX_TCP_PORT
CMake option was ignored.
(Bug #25493867, Bug #84804)
The protobuf compiler emitted “unused import” warnings for mysqlx.proto. (Bug #25444009, Bug #84641)
Connections were released which were not initialized when validation occurred. (Bug #25392280)
The Mysqlx_notice_warning_sent
and Mysqlx_notice_other_sent
status variable values did not increment as expected.
(Bug #25289949, Bug #84258, Bug #25290001, Bug #84260)
The manual definition of the
MYSQL_DYNAMIC_PLUGIN macro was redundant.
(Bug #25162590, Bug #83988)
IPv6 connectivity support defined a new system variable
mysqlx_bind_address with the
default value of '0.0.0.0', but the default value should have
been '*' so that connections to X Plugin may be made using an
IPv6 address, an IPv4 address, or a hostname.
(Bug #25047909, Bug #83688)
Sending Expect.Open to a connected socket
before authentication led to the following error messages:
... Plugin mysqlx reported: '10: Invalid message 24 received during client initialization' ... Plugin mysqlx reported: '10: ERROR reading from socket Bad file descriptor (9) 2'
(Bug #24940144, Bug #83494)
On Linux, MySQL Shell in JavaScript and Python interactive mode hid collections if the lettercase in the collection name was not uniform. (Bug #24848125)
If multiple user accounts exist that match the authenticating user, the X Plugin would attempt to authenticate all matching accounts instead of the best matching account. (Bug #24847537)
Replication:
When a negative or fractional timeout parameter was supplied to
WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS(), the
server behaved in unexpected ways. With this fix:
A fractional timeout value is read as-is, with no round-off.
A negative timeout value is rejected with an error if the server is on a strict SQL mode; if the server is not on a strict SQL mode, the value makes the function return NULL immediately without any waiting and then issue a warning.
(Bug #24976304, Bug #83537)
Group Replication:
View change events from a group can now be replicated to an
external multithreaded slave (MTS) of type
DATABASE.
(Bug #25170698, Bug #84008)
If MySQL was configured to build with the
-Wno-error option,
mysql_config produced incorrect output for
its --cflags option.
The set of compiler options that mysql_config and pkg-config produce now is determined by whitelisting rather than blacklisting. (Bug #25040566, Bug #22898475, Bug #80662)
The performance of UTF-8 binary collations was improved. (Bug #24788778, Bug #83247, Bug #25076862)
Consistency and maintainability of Debian/Ubuntu packaging maintainer scripts was improved. (Bug #23588977)
mysql_secure_installation is more strict about what it considers valid yes and no responses. (Bug #13344753, Bug #62925)
InnoDB: The restriction that required the first undo tablespace to use space ID 1 was removed. The first undo tablespace may now be assigned a space ID other than 1. Space ID values for undo tablespaces are still assigned in a consecutive sequence. (Bug #25551311)
InnoDB:
A DROP TABLE operation raised an
assertion on a server with an
innodb_force_recovery setting
of 5 or 6. DROP TABLE is no
longer permitted with these
innodb_force_recovery settings.
(Bug #25385590)
References: This issue is a regression of: Bug #19779113.
InnoDB: Compiling the server without the Performance Schema caused a build failure. (Bug #25348787)
InnoDB: During read-ahead, the wrong page size was used to calculate the tablespace size. (Bug #25330449)
InnoDB:
Compiling on Fedora 25 using
DWITH_LZ4=system resulted in a
build failure due to a deprecated
LZ4_COMPRESS_LIMITEDOUTPUT function.
(Bug #25297593)
InnoDB:
Disabling macros such as UNIV_PFS_MUTEX,
UNIV_PFS_RWLOCK, and
UNIV_PFS_THREAD caused compilation errors.
(Bug #25251082)
InnoDB: A NULL virtual column field name in a virtual index caused a server exit during a field name comparison that occurs while populating virtual columns affected by a foreign key constraint. (Bug #25222337)
InnoDB:
The file handle type name for InnoDB file I/O
Performance Schema instrumentation was changed from
os_pfs_file_t to
pfs_os_file_t.
(Bug #25220118)
InnoDB: During a range comparison, a secondary index field number was passed instead of clustered index field number, eventually causing the retrieval of an incorrect field. (Bug #25175249)
InnoDB:
A server exit on restart was caused by missing
my_thread_init() and
my_thread_exit() functions for background
threads that initialize the st_my_thread_var
structure.
(Bug #25167032)
InnoDB: A memcached read operation with a non-default read batch size configuration resulted in a server exit. (Bug #25147515)
InnoDB:
A gap lock was taken unnecessarily during foreign key validation
while using the READ
COMMITTED isolation level.
(Bug #25082593)
InnoDB:
After a TRUNCATE TABLE operation
on a table with a FULLTEXT index, space size
was incorrectly calculated resulting in an invalid read.
(Bug #25053705)
InnoDB:
During a checkpoint, all MLOG_FILE_NAME redo
log records were written in a single mini-transaction (mtr),
causing a log parsing buffer overflow.
(Bug #24793413, Bug #83245)
InnoDB:
A mechanism was added to debug builds to ensure that keys for
InnoDB Performance Schema instrumentation are
registered with Performance Schema. The mechanism causes startup
to fail on debug builds if the number of Performance Schema keys
does not match the number of registered Performance Schema keys.
(Bug #24686908)
InnoDB: A race condition while updating table statistics could result in an estimated row count of 1 and an incorrect query execution plan. (Bug #24666839, Bug #82968)
InnoDB:
An error in code related to table statistics raised an assertion
in the dict0stats.cc source file.
(Bug #24585978)
InnoDB:
A concurrent DML operation during an in-place
ALTER TABLE operation that
rebuilt the table did not update a virtual index, resulting in a
mismatch between the virtual index and clustered index.
(Bug #23219499)
InnoDB:
A TRUNCATE TABLE operation held
the dict_sys mutex while scanning for and
removing pages from the buffer pool, causing concurrent DDL
operations to stall. The mutex is now released during the scan
and acquired again when the scan is completed.
(Bug #23070734, Bug #80060)
InnoDB:
SELECT COUNT(*) performance regressed in some
cases due to a modification introduced in MySQL 5.7.2 that
caused InnoDB to count rows by traversing the
clustered index instead of a smaller secondary index. The
modification was reverted.
(Bug #23046302, Bug #80580)
InnoDB: Inserting GIS data into an R-tree raised an assertion due to a missing page number field that was encountered when storing the B-tree cursor. (Bug #23044098, Bug #80939)
InnoDB:
Performance Schema instrumentation for InnoDB
file I/O was disabled on Windows.
(Bug #14025581)
InnoDB:
The row_search_mvcc() function unnecessarily
traversed the entire table for a range query, which occurred
when the record was not in the transaction read view.
(Bug #84202, Bug #23481444, Bug #25251375)
Partitioning: Updating a row of a table that had partitioning on a generated column could raise an assertion failure for debug builds, and return incorrect results in nondebug builds. (Bug #22574695, Bug #80080)
Replication: When using a multithreaded slave, applier errors displayed worker ID data that was inconsistent with data externalized in Performance Schema replication tables. (Bug #25231367)
Replication: Compiling MySQL 5.7.17 failed with a variable length array error. (Bug #25163241, Bug #83994)
Replication:
In row-based replication, a message that incorrectly displayed
field lengths was returned when replicating from a table with a
utf8mb3 column to a table of the same
definition where the column was defined with a
utf8mb4 character set.
(Bug #25135304, Bug #83918)
Replication: The GTID transaction skipping mechanism that silently skips a GTID transaction that was previously executed did not work properly for XA transactions. (Bug #25041920)
Replication: When the MTS slave applier stopped because of an (injected) error, it reported no useful information for troubleshooting. (Bug #24822686)
Replication:
FLUSH BINARY LOGS could become
slow with data replicated from many servers.
(Bug #24806259, Bug #83270)
Replication:
A partially failed CREATE USER,
RENAME USER, or
ALTER USER statement was not
correctly consuming an auto-generated or specified GTID when
binary logging was disabled.
(Bug #24693798)
Replication:
Binlog_sender, which writes events from the
binary log to a packet buffer and then sends the packet to the
slave, did not reduce the size of the send buffer as expected.
(Bug #24643036)
Replication:
When using a multithreaded slave
(slave_parallel_workers greater
than 0) the value of Seconds_Behind_Master
was incorrect when rotating a relay log.
(Bug #23532304)
Replication:
The server prevented several replication-related administrative
statements from working if the
read_only system variable was
enabled.
(Bug #22857926, Bug #25363745, Bug #25326058, Bug #84350, Bug #84437)
Replication:
CHANGE MASTER TO for a channel
that did not exist could raise an assertion.
(Bug #22255698)
Replication:
The delay specified by the
binlog_group_commit_sync_delay system
variable was applied to too many binary log commit groups.
(Bug #21420180)
Group Replication; Microsoft Windows: Removed unnecessary warnings raised when the Group Replication plugin was compiled on Windows platforms. (Bug #25119288)
Group Replication:
The MEMBER_STATE of a group replication
member did not change from ERROR to
OFFLINE when the STOP
GROUP_REPLICATION command was executed when the error
was
ER_GROUP_REPLICATION_CONFIGURATION.
(Bug #25674926)
Group Replication: With flow control enabled, reaching a minimum flow control quota of 1 caused Group Replication not to stop throttling when the reason for throttling was no longer in effect. (Bug #25461354)
Group Replication:
Using an unresolvable host name in
group_replication_group_seeds
caused START GROUP_REPLICATION to
fail. This fix ensures that host names in
group_replication_group_seeds
are validated when starting Group Replication and that the list
contains at least one valid address. Invalid addresses are
ignored.
(Bug #25460324, Bug #84674)
Group Replication:
The _gr_user account created by Group
Replication plugin installation was not reliably removed when
the plugin was uninstalled.
(Bug #25298987)
Group Replication: When starting Group Replication on an offline node, it was possible for the node to be configured for replication, but but be unable to recover. (Bug #25256910)
Group Replication: Group Replication GCS did not discard messages from an inactive member of the group. (Bug #25134074)
Group Replication: An attempt by the Group Replication plugin to contact the server that was no longer possible led to an assertion. (Bug #25071492)
Group Replication: After executing restarts on the group replication applier SQL thread, the plugin could no longer detect failure of the thread. (Bug #24969065)
Solaris: The minimum required version of Solaris is now Solaris 11 update 3, due to a dependency on system runtime libraries.
Solaris: On Solaris, MySQL is now built with Developer Studio 12.5 instead of gcc. The binaries require the Developer Studio C/C++ runtime libraries to be installed. See here for how to install only the libraries:
https://docs.oracle.com/cd/E60778_01/html/E60743/gozsu.html
JSON: MySQL JSON source code built using with clang 3.9 raised undesired warnings. (Bug #25039600)
Ubuntu 12.04 LTS: This is the last release in the MySQL 8.0 series to support Ubuntu 12.04 LTS. As per the MySQL Support Lifecycle policy regarding ending support for OS versions that are obsolete or have reached end of life, we plan to discontinue building binaries for the Linux distribution in future releases. (Bug #25828475)
Oracle Linux 5, Red Hat Enterprise Linux 5, and CentOS 5: This is the last release in the MySQL 8.0 series to support Oracle Linux 5, Red Hat Enterprise Linux 5, and CentOS 5. As per the MySQL Support Lifecycle policy regarding ending support for OS versions that are obsolete or have reached end of life, we plan to discontinue building binaries for those Linux distributions in future releases. Moreover, we plan to build the generic Linux tarballs for the next release on Oracle Linux 6 using glibc 2.12. (Bug #25828375)
mysqldump failed to properly quote certain identifiers in SQL statements written to the dump output. (Bug #25717383)
Client preauthorization by the server was missing a length check for a length-encoded string. (Bug #25714674)
The (undocumented) WINDOWS_RUNTIME_MD
CMake option has been removed.
(Bug #25611359)
mysqld_safe failed to restart the server if a
file was present.
(Bug #25572504)PID_FILE.shutdown
References: This issue is a regression of: Bug #11751149.
For Debian/Ubuntu packages, user-defined collation files could be overwritten during MySQL upgrades. Charset files are now marked as conffiles so that user customizations generate a prompt during upgrades whether to overwrite them. (Bug #25525628, Bug #84761)
For CREATE TABLE statements that
specified the table name with a database qualifier and included
a DATA DIRECTORY or INDEX
DIRECTORY option, an error occurred if there was no
default database.
(Bug #25514146, Bug #84861)
Starting the server with
performance_schema_digests_size=1
caused an abnormal exit.
(Bug #25492129, Bug #84786)
MySQL failed to compile on some platforms with
-DWITH_LIBWRAP=ON.
CMake support now checks whether
tcpd.h has proper function prototypes.
(Bug #25395543, Bug #84495)
mysqld_safe did not check whether the
directory named by the --basedir option
existed.
(Bug #25365194)
Configuring CMake with -G
ninja resulted in build output that was inappropriate
for build platforms other than Xcode or Visual Studio.
(Bug #25358460)
mysqld_safe failed if the error log file
named by the --log-error option was a FIFO.
(Bug #25356221, Bug #84427)
For prepared statements, an alias within a subquery or derived table might cause incorrect behavior during statement execution if another alias depended on it. (Bug #25343335, Bug #84398, Bug #25171608)
mysqld_safe could fail if the
--datadir option value ended with a
/ character.
(Bug #25319457)
A recent change to mysqld_safe caused the mysql.server script to be unable to start it if the base directory was specified as an absolute path that differed from the compiled-in default absolute path. (Bug #25319392, Bug #84263)
The CONNECTION_CONTROL plugin failed to
compile if the Performance Schema was disabled.
(Bug #25308357, Bug #84304)
Passwords did not expire correctly for accounts created using MySQL Workbench. (Bug #25299309)
For System V init scripts for RPMs, the
[mysqld] option-file section was being
ignored for some options, such as pid-file.
(Bug #25287707, Bug #84172)
Init scripts failed to launch mysqld_safe if a non-default base directory was used. (Bug #25261472, Bug #84219)
CMake now detects whether a GCC 5.3.0 loop
optimization bug occurs and attempts a workaround if so.
(Bug #25253540)
mysqld_safe --no-defaults did not work (inadvertent consequence of an earlier bug fix). (Bug #25244898, Bug #84173)
Semicolon (;) characters within or between
statements could cause distinct digests to be generated from
identical statements.
(Bug #25244533, Bug #83253)
For a client linked against libmysqlclient,
invalid memory access could occur during use of prepared
statements.
(Bug #25164932)
The fix for Bug #25088048 caused the command used by mysqld_safe to start the MySQL server to no longer include the mysqld path. (Bug #25144379)
References: This issue is a regression of: Bug #25088048.
Executing a stored procedure containing a query that accessed a view could allocate memory that was not freed until the session ended. (Bug #25053286)
Compilation on FreeBSD 11 failed attempting to check
MAP_NORESERVE, which is no longer defined.
(Bug #25048128, Bug #83689)
CMake support was added for compiling using
the -std=c++03 option under Developer Studio
12.5. This is now used rather than stlport by
default.
(Bug #24947136, Bug #83512, Bug #25229424)
Privilege checking could be incorrect for a derived table used
within a multiple-table UPDATE
invoked within a stored procedure or view object, for the second
or subsequent execution of the object, if the derived table was
merged into the outer query.
(Bug #24810564)
Connections from a client to a server with SSL enabled succeeded
even if --ssl-mode had a value
of VERIFY_CA or
VERIFY_IDENTITY and the client did not
provide a CA certificate.
(Bug #24732452, Bug #23189252, Bug #25397416, Bug #84508)
If InnoDB statistics were incorrect,
FOUND_ROWS() could return 1 even
when the previous SELECT returned no rows.
(Bug #24714857, Bug #83110)
CMake now sets
-DWITH_NUMA=ON for Debian
platforms where possible.
(Bug #24689101)
A query could produce incorrect results if the
WHERE clause contained a dependent subquery,
the table had a secondary index on the columns in the select
list followed by the columns in the subquery, and GROUP
BY or DISTINCT permitted the query
to use a Loose Index Scan.
(Bug #24671968, Bug #83005)
The DebugPrintTest and
DebugPrintDeathTest unit tests did not handle
divide-by-zero testing properly on the Aarch64 platform. Thanks
to Alexey Kopytov for the patch.
(Bug #24624555, Bug #82889)
Some account-management statements could incorrectly set the
account password_lifetime value to
NULL.
(Bug #24619222)
Changes made to mysqld_safe in recent MySQL
releases require the
--ledir,
--mysqld,
--mysqld-version options to
be specified on the command line; they can no longer be
specified in option files. This could cause failure of init
scripts that invoke mysqld_safe. Such scripts
now pass the value of the MYSQLD_OPTS
environment variable as the first command-line argument to
mysqld_safe, with the value set to such
command line-only mysqld_safe option values
as may be required. On platforms that use systemd, the
MYSQLD_OPTS value can be set in
/etc/sysconfig/mysqld with a line such as
this:
MYSQLD_OPTS=" --ledir=/mysqld_ledir --mysqld=my_wrapper "
The value of MYSQLD_OPTS can also include
mysqld options for
mysqld_safe to pass to
mysqld.
(Bug #24619033, Bug #82920)
References: This issue is a regression of: Bug #24464380, Bug #24483092, Bug #25088048, Bug #25378439, Bug #25378565.
For LOAD DATA used to insert data
into an updateable view, the check to verify whether a column is
actually updatable was missing.
(Bug #24595937)
Queries of the form SELECT NULL IN
( could raise an
assertion due to a missing null-pointer check.
(Bug #24595612)subquery)
References: This issue is a regression of: Bug #22090717.
When populating the
variables_by_thread table, the
Performance Schema could attempt to access session variables of
other threads that were being deinitialized.
(Bug #24555658)
On Debian/Ubuntu platforms, the systemd startup script for MySQL
ignored datadir settings in
/etc/mysql/my.cnf.
(Bug #24517024, Bug #82709)
For the null_audit plugin, setting the
null_audit_event_record system variable
improperly could cause a server exit. This variable should be
set only from within the null_audit plugin,
so it is now read only.
(Bug #24493829, Bug #82670)
A regular expression pattern match into a large string could result in a server exit due to memory allocation failure or integer overflow. (Bug #24449076, Bug #24449090)
An incorrect error was reported for CREATE
TABLE statements with a large value for the
CONNECTION table option. The value is now
limited to 1024 bytes.
(Bug #24437124)
For debug builds, if the binary log was enabled, executing the
audit_log plugin
audit_log_filter_set_filter function could
cause a server exit.
(Bug #24437009)
MySQL Enterprise Firewall did not record events if the audit_log
plugin was installed.
(Bug #24413450, Bug #82473)
EXPLAIN SELECT COUNT(*) FROM
could incorrectly
report an tbl_nameExtra value of Select
tables optimized away due to a modification introduced
in MySQL 5.7.2 that caused InnoDB to count
rows by traversing the clustered index instead of a smaller
secondary index. The Extra value now displays
Count Rows.
(Bug #24337385, Bug #82313)
mysqldumpslow failed to parse timestamps in the slow query log; it had not been updated to track a change in log timestamp format. (Bug #24007040)
Complete logical backups made with mysqlpump could not be restored if GTIDs were enabled.
To enable control over GTID information written to the dump
file, mysqlpump now has a
--set-gtid-purged option that
indicates whether to add a
SET
@@GLOBAL.gtid_purged
statement to the output.
(Bug #23748432)
Messages written by the audit_log plugin to
the error log regarding MYSQL_AUDIT_CONNECT
event failures now print the underlying error cause as well to
aid debugging.
(Bug #23710632)
FORCE INDEX was ineffective for
SELECT COUNT(*) queries.
(Bug #23596760, Bug #81854)
The audit_log plugin
audit_log_filter_remove_filter() function
caused a server exit if given a NULL
argument.
(Bug #23522793)
Grant tables with incorrect structure may cause problems in user management operations. As a consequence of the fix for this, for any operation that modifies a grant table, the server now checks whether the table has the expected structure and produces an error if not. mysql_upgrade must be run to update the tables to the expected structure. (Bug #23295423, Bug #25095876, Bug #25448037)
Improper handling of a lock used by the
version_tokens plugin and functions could
result in a server exit if one of the functions was called while
version_tokens was being uninstalled.
(Bug #23210850)
The QUOTE() function could
allocate excessive memory. A limit of
max_allowed_packet bytes is now
imposed and returns NULL with a warning for
attempts to allocate more.
(Bug #23195404)
When attempting to locate the data directory,
mysqld_safe incorrectly considered
$MY_BASEDIR_VERSION/var as one of the
possible locations.
(Bug #23013510, Bug #80866)
The main.log_tables-big test case could be
unstable on highly loaded hosts. Thanks to Laurynas Biveinis for
the patch.
(Bug #22874167, Bug #80607)
The rpl.rpl_key_rotation test case did not
synchronize properly with the master server. Thanks to Laurynas
Biveinis for the patch.
(Bug #22838596, Bug #80531)
Queries that used an aggregate function with
DISTINCT could produce incorrect results.
(Bug #22686994, Bug #80310)
For RPM packages, the default error-log
location in the deployed /etc/my.cnf file
differed from the location in the installed
logrotate script, causing
logrotate to fail.
(Bug #22322685)
After performing inserts in a table containing an
AUTO_INCREMENT column and then performing a
SELECT operation, the
LAST_INSERT_ID() returns the
correct value, but the value of the
mysql_insert_id() C API function
was being reset to 0.
(Bug #22028117, Bug #78778)
With the use_index_extensions
flag of the optimizer_switch
system variable disabled, some SELECT
DISTINCT queries could return incorrect results.
(Bug #21749123, Bug #78244)
Debian packages were missing an AppArmor-related include file and incorrectly were marked dependent on AppArmor (making it impossible to disable AppArmor by uninstalling it). (Bug #20768958)
In a replication environment, SET
PASSWORD or ALTER USER
could fail to execute on the slave due to failure to parse the
hash string correctly.
(Bug #20228478)
On non-Linux Unix systems, the mysql.server startup script used the Linux command pidof rather than pgrep. (Bug #13788154, Bug #64342)
Starting multiple instances of mysqld_safe
after an abnormal server exit could result in one
mysqld_safe instance killing another. As a
consequence of the bug fix, the
mysqld_safe.pid file is no longer used.
(Bug #11751149, Bug #41908)
The --help message for
mysqld_safe was corrected to mention that the
--no-defaults,
--defaults-file, and
--defaults-extra-file
options, if given, must be the first argument.
(Bug #11745176, Bug #11192)
The bounds check for the XML parser position stack for each level (which has a fixed depth) used the size of the array as the upper limit, and so was off by one. This is fixed by decreasing the allowable depth by one, which actually matches the maximum number of elements in the position stack. (Bug #83871, Bug #25111907)
References: See also: Bug #14040071, Bug #15948580.
Timestamps for server-side prepared statements could be written to the binary log up to a second behind timestamps for the corresponding nonprepared statements, leading to time value differences between master and slave servers. (Bug #74550, Bug #19894382, Bug #25187670)