MySQL Forums
Forum List  »  Announcements

MySQL Community Server 5.7.18 has been released
Posted by: Jocelyn Ramilison
Date: April 10, 2017 09:33PM

Dear MySQL users,

MySQL Server 5.7.18, a new version of the popular Open Source
Database Management System, has been released. MySQL 5.7.18 is
recommended for use on production systems.

For an overview of what's new in MySQL 5.7, please see

http://dev.mysql.com/doc/refman/5.7/en/mysql-nutshell.html

For information on installing MySQL 5.7.18 on new servers, please see
the MySQL installation documentation at

http://dev.mysql.com/doc/refman/5.7/en/installing.html

MySQL Server 5.7.18 is available in source and binary form for a number of
platforms from our download pages at

http://dev.mysql.com/downloads/mysql/

MySQL Server 5.7.18 is also available from our repository for Linux
platforms, go here for details:

http://dev.mysql.com/downloads/repo/

Windows packages are available via the Installer for Windows or .ZIP
(no-install) packages for more advanced needs. The point and click
configuration wizards and all MySQL products are available in the
unified Installer for Windows:

http://dev.mysql.com/downloads/installer/

5.7.18 also comes with a web installer as an alternative to the full
installer.

The web installer doesn't come bundled with any actual products
and instead relies on download-on-demand to fetch only the
products you choose to install. This makes the initial download
much smaller but increases install time as the individual products
will need to be downloaded.

We welcome and appreciate your feedback, bug reports, bug fixes,
patches, etc.:

http://bugs.mysql.com/report.php

The following section lists the changes in MySQL 5.7 since
the release of MySQL 5.7.17. It may also be viewed online at

http://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-18.html

Enjoy!

Changes in MySQL 5.7.18 (2017-04-10)
   Compilation 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)

   Configuration Notes

     * 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)

     * The --temp-pool server option is deprecated and will be
       removed in MySQL 8.0.

   DTrace Support

     * Support for DTrace is deprecated and is removed in MySQL
       8.0.

   Packaging Notes

     * 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)

     * 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
       (http://www.microsoft.com/en-us/download/default.aspx).

   Parser Notes

     * PROCEDURE ANALYSE() syntax is now deprecated and is
       removed in MySQL 8.0.

     * 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 INFILE or SELECT ...
       INTO OUTFILE, for which NULL continues to be represented
       by \N. See LOAD DATA INFILE Syntax
       (http://dev.mysql.com/doc/refman/5.7/en/load-data.html).

   Security Notes

     * The linked OpenSSL library for the MySQL Commercial
       Server has been updated to version 1.0.2k. For a
       description of issues fixed in this version, see
       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)

     * 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
       Oracle Key Vault Plugin
       (http://dev.mysql.com/doc/refman/5.7/en/keyring-okv-plugin.html).

   Thread Pool Notes

     * 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)

   X Plugin Notes

     * 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 letter case 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)

   Platform-Specific Notes

     * The minimum required version of Solaris is now Solaris 11
       update 3, due to a dependency on system runtime
       libraries.

     * 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

   Functionality Added or Changed

     * Replication: View change events from a Group Replication
       group can now be replicated to an external multithreaded
       slave (MTS) of type DATABASE. (Bug #25170698)

     * 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)

     * 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)

     * 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.

   Bugs Fixed

     * 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 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)

     * 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: MEMBER_STATE of a group replication member
       did not go from ERROR to OFFLINE when the STOP
       GROUP_REPLICATION command was executed if the error state
       was due to ER3092. (Bug #25674926)

     * Replication: With flow control enabled, reaching a
       minimum flow control quota of 1 will made Group
       Replication not stop throttling when the cause of
       throttling was no longer in effect. (Bug #25461354)

     * Replication: Using an unresolvable host name in
       group_replication_group_seeds caused START
       GROUP_REPLICATION to fail. The fix ensures that host
       names in group_replication_group_seeds are validated when
       starting Group Replication and the list must contain at
       least one valid address. Invalid addresses are ignored.
       (Bug #25460324, Bug #84674)

     * Replication: The _gr_user account created by Group
       Replication plugin installation was not reliably removed
       when the plugin was uninstalled. (Bug #25298987)

     * Replication: When starting Group Replication on an
       offline node, the node could be configured for
       replication, but fail for recovery. (Bug #25256910)

     * Replication: When using a multi-threaded slave, applier
       errors displayed worker ID data that was inconsistent
       with data externalized in Performance Schema replication
       tables. (Bug #25231367)

     * Replication: Not all Group Replication GCS debug and
       trace messages were enabled in debug mode. (Bug
       #25209109)

     * Replication: Compiling MySQL 5.7.17 failed with a
       variable length array error. (Bug #25163241)

     * 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: Group Replication GCS was not discarding
       messages when a member within the group was inactive.
       (Bug #25134074)

     * Replication: Some unnecessary warnings were given when
       the Group Replication plugin was compiled on Windows
       platforms. (Bug #25119288)

     * Replication: As assertion could be raised if the Group
       Replication plugin attempted to contact the server when
       that was no longer possible. (Bug #25071492)

     * 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: After executing restarts on the group
       replication applier SQL thread, the plugin could no
       longer detect failure of the thread. (Bug #24969065)

     * Replication: When the MTS slave applier stopped because
       of an (injected) error, it reported no useful information
       for troubleshooting. (Bug #24822686)

     * Replication: FLUSH BINARY LOG 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 multi-threaded 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)

     * 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)

     * JSON: MySQL JSON source code built using with clang 3.9
       raised undesired warnings. (Bug #25039600)

     * 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
       PID_FILE.shutdown file was present. (Bug #25572504)
       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)

     * 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
       /etc/sysconfig/mysqld, the MYSQLD_OPTS value can be set
       in that file 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 (subquery) could raise
       an assertion due to a missing null-pointer check. (Bug
       #24595612)
       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 tbl_name could incorrectly
       report an Extra 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. (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 user-defined functions could result in a
       server exit if a UDF 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)

On Behalf of the MySQL/ORACLE RE Team
Hery Ramilison

Options: ReplyQuote


Subject
Views
Written By
Posted
MySQL Community Server 5.7.18 has been released
4195
April 10, 2017 09:33PM


Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.