mysql 5.7.17发布
2016-12-13 16:30
344 查看
Mysql 5.7.17发布了,主要修复:
MySQL Enterprise Notes
Packaging Notes
Security Notes
Test Suite Notes
Functionality Added or Changed
Bugs Fixed
Compilation Notes
For GCC versions higher than 4.4,
MySQL Enterprise Notes
Enterprise Encryption for MySQL Enterprise Edition now enables server administrators to impose limits on maximum key length by setting environment variables. These can be used to prevent clients from using excessive CPU resources by passing very long key lengths to key-generation operations. For more information, see Enterprise Encryption Usage and Examples. (Bug #19687742)
Packaging Notes
RPM packages now are built with
Security Notes
Incompatible Change: These changes were made to mysqld_safe:
Unsafe use of rm and chown in mysqld_safe could result in privilege escalation. chown now can be used only when the target directory is
The
mysqld_safe ignores the current working directory.
Other related changes:
Initialization scripts that invoke mysqld_safe pass
Initialization scripts create the error log file only if the base directory is
Unused systemd files for SLES were removed.
(Bug #24483092, Bug #25088048)
References: See also: Bug #24464380, Bug #24388753.
MySQL Server now includes a plugin library that enables administrators to introduce an increasing delay in server response to clients after a certain number of consecutive failed connection attempts. This capability provides a deterrent that slows down brute force attacks that attempt to access MySQL user accounts. For more information, see The Connection-Control Plugin.
OpenSSL is ending support for version 1.0.1 in December 2016; see https://www.openssl.org/policies/releasestrat.html. Consequently, MySQL Commercial Server builds now use version 1.0.2 rather than version 1.0.1, and the linked OpenSSL library for the MySQL Commercial Server has been updated from version 1.0.1 to version 1.0.2j. For a description of issues fixed in this version, see https://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.
Test Suite Notes
mysql-test-run.pl could not be run with --valgrind-option=--tool=custom_tool, for values of
Functionality Added or Changed
Incompatible Change; Partitioning: The generic partitioning handler in the MySQL server is deprecated, and will be removed in MySQL 8.0. As part of this change, the mysqld
Following the removal of the generic partitioning handler, the storage engine used for a given table will be expected to provide its own (“native”) partitioning handler as the
Use of tables with nonnative partitioning now results in an
To prepare for migration to MySQL 8.0, any table with nonnative partitioning should be changed to use an engine that provides native partitioning, or be made nonpartitioned. For example, to change a table to
[/code]
InnoDB: By default,
The systemd service file for mysqld now includes a
Unit testing now uses Google Mock 1.8. (Bug #24572381, Bug #82823)
If mysqld is invoked with
The
MySQL Group Replication is a new MySQL plugin that enables you to create a highly available distributed MySQL service across a group of MySQL server instances, with data consistency, conflict detection and resolution, and group membership services all built-in. By using a powerful new group communication service, which provides an implementation of the popular Paxos algorithm, the group of MySQL Server instances automatically coordinates on data replication, consistency, and membership. This provides all of the built-in mechanisms necessary for making your MySQL databases highly available.
By default Group Replication operates in single-primary mode where a single server instance, called the primary, accepts write requests. The remaining server instances in the group, called secondaries, function as replicas of the primary. In the event of an unexpected failure of the primary, an automatic primary election process takes place and one of the secondaries is elected as the new primary. Group Replication also supports virtually synchronous multi-primary replication, with certain considerations and restrictions, which offers update everywhere functionality. In this mode all members are equal and you can distribute your reads and writes across all MySQL Server instances in the group.
Regardless of the operating mode, Group Replication provides a dynamic membership service that relies on distributed failure detection. Server instances can join and leave the group dynamically, and you can query the group's membership list at any point through Performance Schema tables. Server instances that join the group automatically synchronize their state with the group by doing an automatic point-in-time recovery which ensures that they reach synchrony with the group.
MySQL Group Replication's virtually synchronous replication is also a fully integrated part of MySQL, using the InnoDB storage engine, the Performance Schema tables, standard GTIDs and the well known replication infrastructure (binary and relay logs, multi-source replication, multi-threaded slave execution, etc.), which makes it a familiar and intuitive experience for existing MySQL users and makes it very easy to integrate with MySQL's standard asynchronous and semisynchronous replication, allowing you to mix and match as needed to create varied and complex replication topologies.
Bugs Fixed
Incompatible Change: A change made in MySQL 5.7.8 for handling of multibyte character sets by
References: See also: Bug #23080148.
NDB Cluster: MySQL Cluster encountered race conditions compiling
InnoDB: The
InnoDB: A prepared XA transaction was rolled back by a high priority transaction. The high priority transaction should wait if the blocking transaction is in a prepared state. (Bug #25032066)
InnoDB:
InnoDB: On a MySQL 64-bit build on Windows, a file I/O retry result was misinterpreted due to a missing cast necessary for the correct operation of the retry path, resulting in a failing assertion and operating system error. (Bug #24711351)
InnoDB: The GCC
Thanks to Laurynas Biveinis for the patch. (Bug #24707869, Bug #83073)
InnoDB: Due to a
Thanks to Laurynas Biveinis for the patch. (Bug #24605956, Bug #82886)
InnoDB: After increasing the value of
InnoDB:
InnoDB: A cached undo segment was not removed from the rollback segment history during a slow shutdown. (Bug #24450908)
InnoDB: An error during a table-rebuilding operation on a table with only a generated clustered index (
InnoDB: Rotating the tablespace encryption master key while the server is in read-only mode raised an assertion instead of displaying an error message. (Bug #24404091)
InnoDB: On a table without an explicitly defined primary key,
InnoDB: A high priority transaction involving a foreign key constraint check was not able to kill a lower priority blocking transaction. (Bug #24347476)
InnoDB: Page cleaner threads asserted due to a regression related to the adaptive hash index feature. (Bug #24346574)
References: This issue is a regression of: Bug #21407023.
InnoDB:
InnoDB: When adding a new index, the server dropped an internally defined foreign key index and attempted to use a secondary index defined on a generated virtual column as the foreign key index, causing a server exit.
InnoDB: An
InnoDB: A table-copying online
InnoDB:
InnoDB: After a server restart, concurrent
Replication: When using XA transactions, if a lock wait timeout or deadlock occurred for the applier (SQL) thread on a replication slave, the automatic retry did not work. The cause was that while the SQL thread would do a rollback, it would not roll the XA transaction back. This meant that when the transaction was retried, the first event was
References: See also: Bug #24923091, Bug #24966941.
Replication: The group commit update of GTIDs has been refactored to improve performance on workloads with many small transactions. (Bug #24398760)
Replication: If the
Replication: For servers built with yaSSL, using group replication with secure connections could result in timeout failures waiting for view delivery. (Bug #23592214)
Replication: Tables with special
Replication: An
Replication: Enabling semisynchronous replication when a server was during the commit stage could cause the master to stop unexpectedly. This was related to the patch for Bug# 75570. (Bug #22202516)
Replication: The number of generated unwanted fseeks into the binary log file being replicated to a slave has been reduced. (Bug #83226, Bug #24763579)
Replication: The
Replication: When
Replication: Using semisynchronous replication was not possible with more than 1024 simultaneous connections. (Bug #79865, Bug #23581389)
Some Linux startup scripts did not process the
OEL RPM packages now better detect which platforms have multilib support (for which 32-bit and 64-bit libraries can be installed). Thanks to Alexey Kopytov for the patch. (Bug #24925181, Bug #83457)
OEL RPM packages now better detect which platforms do not have multilib support (for which 32-bit and 64-bit libraries can be installed). Thanks to Alexey Kopytov for the patch. (Bug #24916428, Bug #83428)
Information about building MySQL 5.6 compatibility libraries in the MySQL 5.7 and higher
Compiling MySQL using Microsoft Visual Studio 2015 Version 14.0.25420.1 in
To better provide atomic file creation, Debian packaging scripts now use the coreutils install command rather than touch, chmod, and chown. (Bug #24688682)
For SLES packages, a typo in the installation script postamble prevented some cleanup from occurring. (Bug #24605300, Bug #82389)
Warnings occurring during
For
For segmentation faults on FreeBSD, the server did not generate a stack trace. (Bug #24566529, Bug #23575445, Bug #81827)
The
The X Plugin was built with compilation options different from other plugins. (Bug #24555770, Bug #82777)
If mysqladmin shutdown encountered an error determining the server process ID file, it displayed an error message that did not clearly indicate the error was nonfatal. It now indicates that execution continues. (Bug #24496214)
The data structure used for
Operation of the mysql-multi.server.sh script was based on
Use of very long subpartition names could result in a server exit. Now partition or subpartition names larger than 64 characters produce an
The
Upgrading from MySQL 5.6 to 5.7.13 and then to 5.7.14 resulted in an incorrect column order in the
The AppArmor profile installed by Ubuntu packages was missing an entry permitting
For an
Infinite recursion could occur if the
MySQL now uses
Additionally, several problems resulting in GCC 6.1 compiler warnings were corrected. (Bug #23708395, Bug #24437737, Bug #82515, Bug #24459890, Bug #25103242)
For audit log events in the connection class, the
On Solaris,
The
A union query resulting in tuples larger than
The optimizer could choose
For a query with
For some deeply nested expressions, the optimizer failed to detect stack overflow, resulting in a server exit. (Bug #23135667)
The
For sessions created through the X Plugin, incorrect thread attachment/detachment could cause a server exit. (Bug #23057045)
When a
A binary (in-place) upgrade from MySQL 5.6 to 5.7 followed by a data export performed using mysqlpump resulted in an
SQL statements executed through the X Plugin were not instrumented in the Performance Schema. (Bug #22859462)
The
CMake now sets the default
With no NUMA option (the normal case), CMake continues normally, producing only this warning: NUMA library missing or required version not available
With
(Bug #22678436, Bug #80288)
When taking the server offline, a race condition within the Performance Schema could lead to a server exit. (Bug #22551677)
On macOS, if a table with an associated trigger was renamed to a new name containing both lowercase and uppercase characters,
In the
The Performance Schema
For Performance Schema system and status variable tables, variable values expressed in a character set different from
Queries that were grouped on a column of a
On Ubuntu, error messages were displayed during upgrades from Community to Commercial packages that made it appear as though mysqld and my_print_defaults had not been installed. Those messages were spurious and have been silenced. (Bug #21807248)
An invalid string value in the
The return value from an
An in-place
An
根据历史经验,percona server 应该会在1个月后左右发布。
Changes in MySQL 5.7.17 (2016-12-12, General Availability)
Compilation NotesMySQL Enterprise Notes
Packaging Notes
Security Notes
Test Suite Notes
Functionality Added or Changed
Bugs Fixed
Compilation Notes
For GCC versions higher than 4.4,
-fno-expensive-optimizationswas replaced with
-ffp-contract=off, which has the effect of enabling more optimizations. Thanks to Alexey Kopytov for the patch. (Bug #24571672, Bug #82760)
MySQL Enterprise Notes
Enterprise Encryption for MySQL Enterprise Edition now enables server administrators to impose limits on maximum key length by setting environment variables. These can be used to prevent clients from using excessive CPU resources by passing very long key lengths to key-generation operations. For more information, see Enterprise Encryption Usage and Examples. (Bug #19687742)
Packaging Notes
RPM packages now are built with
-DWITH_NUMA=ONfor platforms with NUMA support: OEL higher than EL5, Fedora, SLES, Docker. (Bug #24689078)
Security Notes
Incompatible Change: These changes were made to mysqld_safe:
Unsafe use of rm and chown in mysqld_safe could result in privilege escalation. chown now can be used only when the target directory is
/var/log. An incompatible change is that if the directory for the Unix socket file is missing, it is no longer created; instead, an error occurs. Due to these changes, /bin/bash is required to runmysqld_safe on Solaris. /bin/sh is still used on other Unix/Linux platforms.
The
--lediroption now is accepted only on the command line, not in option files.
mysqld_safe ignores the current working directory.
Other related changes:
Initialization scripts that invoke mysqld_safe pass
--basedirexplicitly.
Initialization scripts create the error log file only if the base directory is
/var/logor
/var/lib.
Unused systemd files for SLES were removed.
(Bug #24483092, Bug #25088048)
References: See also: Bug #24464380, Bug #24388753.
MySQL Server now includes a plugin library that enables administrators to introduce an increasing delay in server response to clients after a certain number of consecutive failed connection attempts. This capability provides a deterrent that slows down brute force attacks that attempt to access MySQL user accounts. For more information, see The Connection-Control Plugin.
OpenSSL is ending support for version 1.0.1 in December 2016; see https://www.openssl.org/policies/releasestrat.html. Consequently, MySQL Commercial Server builds now use version 1.0.2 rather than version 1.0.1, and the linked OpenSSL library for the MySQL Commercial Server has been updated from version 1.0.1 to version 1.0.2j. For a description of issues fixed in this version, see https://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.
Test Suite Notes
mysql-test-run.pl could not be run with --valgrind-option=--tool=custom_tool, for values of
custom_toolsuch as massif or helgrind, because it added the options for memcheck that might not be understood by other tools. Also, the mysql-test-run.pl
--callgrindoption did not work because it supplied an invalid
--baseoption tocallgrind. Thanks to Daniel Black for the patch on which the fixes were based. (Bug #23713613, Bug #82039)
Functionality Added or Changed
Incompatible Change; Partitioning: The generic partitioning handler in the MySQL server is deprecated, and will be removed in MySQL 8.0. As part of this change, the mysqld
--partitionand
--skip-partitionoptions as well as the
-DWITH_PARTITION_STORAGE_ENGINEbuild option are also deprecated, and will later be removed; partitioning will no longer be shown in the
INFORMATION_SCHEMA.PLUGINStable or in the output of
SHOW PLUGINS.
Following the removal of the generic partitioning handler, the storage engine used for a given table will be expected to provide its own (“native”) partitioning handler as the
InnoDBand
NDBstorage engines currently do. Currently, no other MySQL storage engines provide native partitioning support, nor is any planned for any other storage engines in current or development versions of MySQL.
Use of tables with nonnative partitioning now results in an
ER_WARN_DEPRECATED_SYNTAXwarning. Also, the server performs a check at startup to identify tables that use nonnative partitioning; for any found, the server writes a message to its error log. To disable this check, use the
--disable-partition-engine-checkoption.
To prepare for migration to MySQL 8.0, any table with nonnative partitioning should be changed to use an engine that provides native partitioning, or be made nonpartitioned. For example, to change a table to
InnoDB, execute this statement:
ALTER TABLE [code]table_nameENGINE = INNODB;
[/code]
InnoDB: By default,
InnoDBreads uncommitted data when calculating statistics. In the case of an uncommitted transaction that deletes rows from a table,
InnoDBexcludes records that are delete-marked when calculating row estimates and index statistics, which can lead to non-optimal execution plans for other transactions that are operating on the table concurrently using a transaction isolation level other than
READ UNCOMMITTED. To avoid this scenario, a new configuration option,
innodb_stats_include_delete_marked, can be enabled to ensure that
InnoDBincludes delete-marked records when calculating persistent optimizer statistics. (Bug #23333990)
The systemd service file for mysqld now includes a
Documentationvalue in the
[Unit]section to provide a link to the systemd documentation in the MySQL Reference Manual. (Bug #24735762)
Unit testing now uses Google Mock 1.8. (Bug #24572381, Bug #82823)
If mysqld is invoked with
--daemonize,
stdoutand
stderrare redirected to
/dev/nullif connected to a terminal type device, so that mysqld can behave as a true daemon. (Bug #21627629)
The
libmysqldembedded server library is deprecated and will be removed in a future version of MySQL.
MySQL Group Replication is a new MySQL plugin that enables you to create a highly available distributed MySQL service across a group of MySQL server instances, with data consistency, conflict detection and resolution, and group membership services all built-in. By using a powerful new group communication service, which provides an implementation of the popular Paxos algorithm, the group of MySQL Server instances automatically coordinates on data replication, consistency, and membership. This provides all of the built-in mechanisms necessary for making your MySQL databases highly available.
By default Group Replication operates in single-primary mode where a single server instance, called the primary, accepts write requests. The remaining server instances in the group, called secondaries, function as replicas of the primary. In the event of an unexpected failure of the primary, an automatic primary election process takes place and one of the secondaries is elected as the new primary. Group Replication also supports virtually synchronous multi-primary replication, with certain considerations and restrictions, which offers update everywhere functionality. In this mode all members are equal and you can distribute your reads and writes across all MySQL Server instances in the group.
Regardless of the operating mode, Group Replication provides a dynamic membership service that relies on distributed failure detection. Server instances can join and leave the group dynamically, and you can query the group's membership list at any point through Performance Schema tables. Server instances that join the group automatically synchronize their state with the group by doing an automatic point-in-time recovery which ensures that they reach synchrony with the group.
MySQL Group Replication's virtually synchronous replication is also a fully integrated part of MySQL, using the InnoDB storage engine, the Performance Schema tables, standard GTIDs and the well known replication infrastructure (binary and relay logs, multi-source replication, multi-threaded slave execution, etc.), which makes it a familiar and intuitive experience for existing MySQL users and makes it very easy to integrate with MySQL's standard asynchronous and semisynchronous replication, allowing you to mix and match as needed to create varied and complex replication topologies.
Bugs Fixed
Incompatible Change: A change made in MySQL 5.7.8 for handling of multibyte character sets by
LOAD DATAwas reverted due to the replication incompatibility (Bug #24487120, Bug #82641)
References: See also: Bug #23080148.
NDB Cluster: MySQL Cluster encountered race conditions compiling
lex_hash.h. (Bug #24931655, Bug #83477)
InnoDB: The
INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTStable reported
NULLfor a foreign key constraint name (
UNIQUE_CONSTRAINT_NAME) after restarting the server. (Bug #25126722)
InnoDB: A prepared XA transaction was rolled back by a high priority transaction. The high priority transaction should wait if the blocking transaction is in a prepared state. (Bug #25032066)
InnoDB:
InnoDBpassed an invalid argument to
syscall(SYS_futex). (Bug #24923840, Bug #83375)
InnoDB: On a MySQL 64-bit build on Windows, a file I/O retry result was misinterpreted due to a missing cast necessary for the correct operation of the retry path, resulting in a failing assertion and operating system error. (Bug #24711351)
InnoDB: The GCC
mach_parse_compressedfunction should load one to five bytes depending on the value of the first byte. Due to a GCC bug, GCC 5 and 6 emit code to load four bytes before the first byte value is checked (GCC Bug #77673). A workaround prevents this behavior.
Thanks to Laurynas Biveinis for the patch. (Bug #24707869, Bug #83073)
InnoDB: Due to a
glibcbug, short-lived detached threads could exit before the caller had returned from
pthread_create(), causing a server exit.
Thanks to Laurynas Biveinis for the patch. (Bug #24605956, Bug #82886)
InnoDB: After increasing the value of
innodb_undo_logsand restarting the server, the number of active undo tablespaces was not increased when assigning undo tablespaces to newly allocated rollback segments. (Bug #24488141)
InnoDB:
InnoDBincorrectly reported an error about missing encryption when restoring pages from the doublewrite buffer during recovery. (Bug #24471076)
InnoDB: A cached undo segment was not removed from the rollback segment history during a slow shutdown. (Bug #24450908)
InnoDB: An error during a table-rebuilding operation on a table with only a generated clustered index (
GEN_CLUST_INDEX) raised and assertion due to an error called with an invalid key name. (Bug #24444831)
InnoDB: Rotating the tablespace encryption master key while the server is in read-only mode raised an assertion instead of displaying an error message. (Bug #24404091)
InnoDB: On a table without an explicitly defined primary key,
InnoDBdid not replace the implicit clustered index (
GEN_CLUST_INDEX) when a unique key was defined on a
NOT NULLcolumn. (Bug #24397406)
InnoDB: A high priority transaction involving a foreign key constraint check was not able to kill a lower priority blocking transaction. (Bug #24347476)
InnoDB: Page cleaner threads asserted due to a regression related to the adaptive hash index feature. (Bug #24346574)
References: This issue is a regression of: Bug #21407023.
InnoDB:
InnoDBfailed to free memory used by the full-text optimizer thread. (Bug #24331265)
InnoDB: When adding a new index, the server dropped an internally defined foreign key index and attempted to use a secondary index defined on a generated virtual column as the foreign key index, causing a server exit.
InnoDBnow permits a foreign key constraint to reference a secondary index defined on a generated virtual column. (Bug #23533396)
InnoDB: An
INFORMATION_SCHEMA.FILESquery resulted in a server exit due to a race condition with a concurrent tablespace creation operation. (Bug #23477214)
InnoDB: A table-copying online
ALTER TABLEoperation on a
ROW_FORMAT=REDUNDANTtable with indexed virtual columns raised an assertion. (Bug #22018745)
InnoDB:
SHOW ENGINE INNODB STATUSoutput showed a “cleaning up” state for an idle thread. Thread state information was not reset after statement execution. (Bug #21974225, Bug #78777)
InnoDB: After a server restart, concurrent
INSERToperations a table with an auto-increment primary key resulted in a duplicate entry error. The current auto-increment value was not changed after
auto_increment_incrementand
auto_increment_offsetsettings were modified. (Bug #20989615, Bug #76872)
Replication: When using XA transactions, if a lock wait timeout or deadlock occurred for the applier (SQL) thread on a replication slave, the automatic retry did not work. The cause was that while the SQL thread would do a rollback, it would not roll the XA transaction back. This meant that when the transaction was retried, the first event was
XA STARTwhich was invalid as the XA transaction was already in progress, leading to an
XAER_RMFAILerror. (Bug #24764800)
References: See also: Bug #24923091, Bug #24966941.
Replication: The group commit update of GTIDs has been refactored to improve performance on workloads with many small transactions. (Bug #24398760)
Replication: If the
relay_logoption was not specified in a configuration file, the
relay_log_basenamevariable was being internally constructed on the fly using
hostnamebut the
relay_log_basenamevariable was not set. When a slave tried to access this uninitialized variable it resulted in an unexpected halt of the server. (Bug #24352667)
Replication: For servers built with yaSSL, using group replication with secure connections could result in timeout failures waiting for view delivery. (Bug #23592214)
Replication: Tables with special
DEFAULTcolumns, such as
DEFAULT CURRENT_TIMESTAMP, that existed only on a slave were not being updated when using row-based replication (
binlog_format=ROW). (Bug #22916743)
Replication: An
XA PREPAREstatement that failed during the intermediate steps could lead to an inconsistent
XAtransaction state, where
ID= -1 but the
binloggedflag was set to
true. This caused asserts while executing
XA COMMITand
XA ROLLBACKqueries. (Bug #22915670)
Replication: Enabling semisynchronous replication when a server was during the commit stage could cause the master to stop unexpectedly. This was related to the patch for Bug# 75570. (Bug #22202516)
Replication: The number of generated unwanted fseeks into the binary log file being replicated to a slave has been reduced. (Bug #83226, Bug #24763579)
Replication: The
rpl.rpl_binlog_errorstest was failing sporadically on Windows. (Bug #82302, Bug #24330138)
Replication: When
binlog_group_commit_sync_delaywas set to a value between 1 and 9, if
binlog_group_commit_sync_no_delay_countwas set to a value greater than 1, and the number of transaction commits was less than
binlog_group_commit_sync_no_delay_count, these commits hung forever if no more commits were received; and if
binlog_group_commit_sync_no_delay_countwas set to 0, all transaction commits hung forever. (Bug #80652, Bug #22891628)
Replication: Using semisynchronous replication was not possible with more than 1024 simultaneous connections. (Bug #79865, Bug #23581389)
Some Linux startup scripts did not process the
datadirsetting correctly. (Bug #25159791)
CREATE TABLEwith a
DATA DIRECTORYclause could be used to gain extra privileges. (Bug #25092566)
CMakenow avoids configuring the
-fexpensive-optimizationsoption for GCC versions for which the option triggers faulty shift-or optimizations. (Bug #24947597, Bug #83517)
OEL RPM packages now better detect which platforms have multilib support (for which 32-bit and 64-bit libraries can be installed). Thanks to Alexey Kopytov for the patch. (Bug #24925181, Bug #83457)
OEL RPM packages now better detect which platforms do not have multilib support (for which 32-bit and 64-bit libraries can be installed). Thanks to Alexey Kopytov for the patch. (Bug #24916428, Bug #83428)
Information about building MySQL 5.6 compatibility libraries in the MySQL 5.7 and higher
.specfile is needed only for building
libmysqlclientand
libmysqld. Information about building the
InnoDBmemcached plugin was removed. (Bug #24908345, Bug #83409)
Compiling MySQL using Microsoft Visual Studio 2015 Version 14.0.25420.1 in
relwithdebinfomode failed with linking errors. (Bug #24748505)
To better provide atomic file creation, Debian packaging scripts now use the coreutils install command rather than touch, chmod, and chown. (Bug #24688682)
For SLES packages, a typo in the installation script postamble prevented some cleanup from occurring. (Bug #24605300, Bug #82389)
Warnings occurring during
CREATE TABLE ... SELECTcould cause a server exit. (Bug #24595992)
For
LOAD DATAstatements, input data with too many column values produced only a warning, rather than an error as in MySQL 5.6. An error now occurs. (Bug #24577194, Bug #82830)
For segmentation faults on FreeBSD, the server did not generate a stack trace. (Bug #24566529, Bug #23575445, Bug #81827)
The
.mylogin.cnfoption file is intended for use by client programs, but the server was reading it as well. The server no longer reads it. (Bug #24557925)
The X Plugin was built with compilation options different from other plugins. (Bug #24555770, Bug #82777)
If mysqladmin shutdown encountered an error determining the server process ID file, it displayed an error message that did not clearly indicate the error was nonfatal. It now indicates that execution continues. (Bug #24496214)
The data structure used for
ZEROFILLcolumns could experience memory corruption, leading eventually to a server exit. (Bug #24489302)
Operation of the mysql-multi.server.sh script was based on
my.cnfin the data directory. That option file is no longer used, so mysql-multi.server.sh has been removed. (Bug #24487870)
Use of very long subpartition names could result in a server exit. Now partition or subpartition names larger than 64 characters produce an
ER_TOO_LONG_IDENTerror. (Bug #24400628, Bug #82429)
The
Gis_wkb_vector<Gis_point>copy constructor was not explicitly instantiated, causing build problems for the Intel compiler. (Bug #24397833, Bug #82358)
Upgrading from MySQL 5.6 to 5.7.13 and then to 5.7.14 resulted in an incorrect column order in the
mysql.slave_master_infosystem table. (Bug #24384561, Bug #82384)
The AppArmor profile installed by Ubuntu packages was missing an entry permitting
libnumato read a
/syshierarchy path, resulting in server startup failure. (Bug #23854929)
For an
INSERTstatement for which the
VALUESlist produced values for the second or later row using a subquery containing a join, the server could exit after failing to resolve the required privileges. (Bug #23762382)
Infinite recursion could occur if the
audit_logplugin signalled an error while handling an error. (Bug #23717558, Bug #82052)
MySQL now uses
readdir()rather than
readdir_r(). The latter has been deprecated since
glibc2.24 and caused debug builds of MySQL and builds using GCC 6.1 to fail.
Additionally, several problems resulting in GCC 6.1 compiler warnings were corrected. (Bug #23708395, Bug #24437737, Bug #82515, Bug #24459890, Bug #25103242)
For audit log events in the connection class, the
connection_typevalue was available only for connect events. The value is now available in connect, disconnect, and change-user events. (Bug #23541550)
On Solaris,
gettimeofday()could return an invalid value and cause a server shutdown. (Bug #23499695)
The
keyring_fileplugin could attempt to write keys to its storage file when the file did not exist. To ensure that keys are flushed only when the correct storage file exists,
keyring_filenow stores a SHA-256 checksum of the keyring in the file. Before updating the file, the plugin verifies that it contains the expected checksum. (Bug #23498254)
START GROUP REPLICATIONuses stacked
Srv_sessionand did not return to the correct thread.
START GROUP REPLICATIONand
STOP GROUP REPLICATIONare now removed from the list of permitted commands. (Bug #23337984)
A union query resulting in tuples larger than
max_join_sizecould result in a server exit. (Bug #23303485)
The optimizer could choose
refaccess on a secondary index rather than
rangeaccess on the primary key, even when the cost was higher. (Bug #23259872, Bug #81341)
For a query with
ORDER BYand
LIMIT, an optimizer trace did not record the optimizer's switch to a different index. (Bug #23227428, Bug #81250)
For some deeply nested expressions, the optimizer failed to detect stack overflow, resulting in a server exit. (Bug #23135667)
The
sysschema
ps_truncate_all_tables()function did not work with
read_onlyenabled or for users with the
SUPERprivilege with
super_read_onlyenabled, due to errors attempting to truncate Performance Schema tables. The server now skips the
read_only/
super_read_onlycheck for Performance Schema tables, with the result that
ps_truncate_all_tables()will work under such configurations. (Bug #23103937, Bug #81009)
For sessions created through the X Plugin, incorrect thread attachment/detachment could cause a server exit. (Bug #23057045)
When a
JSONvalue consisted of a large sub-document wrapped in many levels of JSON arrays, objects, or both, serialization of the
JSONvalue sometimes required an excessive amount time to complete. (Bug #23031146)
A binary (in-place) upgrade from MySQL 5.6 to 5.7 followed by a data export performed using mysqlpump resulted in an
Invalid default value forerror for attempts to reload the dump file. (Bug #22919028, Bug #80706)date_column
SQL statements executed through the X Plugin were not instrumented in the Performance Schema. (Bug #22859462)
DROP INDEXoperations could fail due to inconsistent handling of index prefix lengths for
TEXT-type columns (
TINYTEXTand so forth). (Bug #22740093, Bug #80392)
The
innodb_numa_interleavesystem variable was erroneously available on some systems that were not NUMA-enabled. Thanks to Tomislav Plavcic for the patch.
CMake now sets the default
WITH_NUMAvalue based on whether the current platform has
NUMAsupport. For platforms without NUMA support, CMake behaves as follows:
With no NUMA option (the normal case), CMake continues normally, producing only this warning: NUMA library missing or required version not available
With
-DWITH_NUMA=ON, CMake aborts with this error: NUMA library missing or required version not available
(Bug #22678436, Bug #80288)
When taking the server offline, a race condition within the Performance Schema could lead to a server exit. (Bug #22551677)
On macOS, if a table with an associated trigger was renamed to a new name containing both lowercase and uppercase characters,
DROP TRIGGERfor the trigger resulted in an
ER_NO_SUCH_TABLEerror for the table. (Bug #22512899, Bug #79873)
In the
MYSQL_FIELDC API structure, the
org_tablevalue for derived tables was
*, which could cause failure for queries that depend on this value. The
org_tablevalue for views and derived tables now is set as follows: If the column is selected from a view,
org_tablenames the view. If the column is selected from a derived table,
org_tablenames the base table. If a derived table wraps a view,
org_tablestill names the base table. If the column is an expression,
org_tableis the empty string. (Bug #22364401, Bug #79641)
The Performance Schema
events_statements_summary_by_digesttable could contain multiple rows for the same statement digest and schema combination, rather than the expected single (unique) row. (Bug #22320066, Bug #79533)
For Performance Schema system and status variable tables, variable values expressed in a character set different from
utf8could be truncated or incorrect. (Bug #22313205)
Queries that were grouped on a column of a
BLOB-based type, and that were ordered on the result of the
AVG(),
VAR_POP(), or
STDDEV_POP()aggregate function, returned results in the wrong order if
InnoDBtemporary tables were used. (Bug #22275357, Bug #79366)
On Ubuntu, error messages were displayed during upgrades from Community to Commercial packages that made it appear as though mysqld and my_print_defaults had not been installed. Those messages were spurious and have been silenced. (Bug #21807248)
An invalid string value in the
WHEREclause of an
UPDATEstatement, caused an index scan rather than a range scan to be used. For values not present in the index, this could be much slower. Now the optimizer determines this to be an “impossible
WHERE” condition. (Bug #21032418, Bug #76933)
The return value from an
fread()call was not checked. (Bug #20671150)
An in-place
ALTER TABLEoperation failed to report an error when adding a
DATEor
DATETIMEcolumn under these conditions: a) the column was
NOT NULLand no default value was supplied; b) strict and
NO_ZERO_DATESQL modes were enabled; c) the table was not empty.
An
ALTER TABLEoperation failed with an error rather than a warning when adding a
DATEor
DATETIMEcolumn under these conditions: a) the column was
NOT NULLand no default value was supplied; b) strict SQL mode was enabled and
NO_ZERO_DATESQL mode was not enabled; c) the table was not empty. (Bug #16888677)
根据历史经验,percona server 应该会在1个月后左右发布。
相关文章推荐
- Google发布优化MySQL的补丁及工具
- 发布MySQL集群自动安装脚本1.0!
- SUN将于本季度发布 MySQL 5.1
- 发布支持MySql 5.x的数据查询插件
- MySQL 5.1.31 发布
- ALinq1.3(由LinqToAccessDB改名)源码发布--支持Access、SQLite、MySql、Oracle四种数库
- MySQL系统的发布、安装
- Google发布改进版本MySQL代码
- amoeba for mysql 0.22 发布
- [数据库]MySQL系统的发布、安装
- 发布NBearLite v1.0.0 beta - 全面支持SqlServer,Oracle,MySql,PostgreSql数据库存储过程调用代码生成(C#/VB.NET)
- MySQL 5.1.22 RC 发布
- SUN将于本季度发布 MySQL 5.1
- 发布NBearLite v1.0.0 beta - 全面支持SqlServer,Oracle,MySql,PostgreSql数据库存储过程调用代码生成(C#/VB.NET)
- MySQL 5.0 RC发布 支持视图触发器存储过程
- MySQL系统的发布、安装 -----转
- php+mysql开源XNA 聚合程序发布 下载
- 致力于数据切分的Amoeba for mysql 0.12版本发布
- MySQL 5.1.30提前发布 三年开发告一段落
- MySQL 5.1系列最新稳定版5.1.32发布