MySQL Community Server 8.0.12 has been released (part 1/2)
Posted by: Bjørn Munch
Date: July 27, 2018 11:53AM
Date: July 27, 2018 11:53AM
[Due to size limitation, this announcement is split in two. This is
part 1]
Dear MySQL users,
MySQL Server 8.0.12, a new version of the popular Open Source
Database Management System, has been released. MySQL 8.0.12 is
recommended for use on production systems.
For an overview of what's new in MySQL 8.0, please see
http://dev.mysql.com/doc/refman/8.0/en/mysql-nutshell.html
For information on installing MySQL 8.0.12 on new servers, please see
the MySQL installation documentation at
http://dev.mysql.com/doc/refman/8.0/en/installing.html
MySQL Server 8.0.12 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 8.0.12 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:
http://dev.mysql.com/downloads/installer/
along with .ZIP (no-install) packages for more advanced needs.
8.0.12 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 link lists the changes in the MySQL 8.0 since
the release of MySQL 8.0.11. It may also be viewed
online at
http://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-12.html
Enjoy!
part 1]
Dear MySQL users,
MySQL Server 8.0.12, a new version of the popular Open Source
Database Management System, has been released. MySQL 8.0.12 is
recommended for use on production systems.
For an overview of what's new in MySQL 8.0, please see
http://dev.mysql.com/doc/refman/8.0/en/mysql-nutshell.html
For information on installing MySQL 8.0.12 on new servers, please see
the MySQL installation documentation at
http://dev.mysql.com/doc/refman/8.0/en/installing.html
MySQL Server 8.0.12 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 8.0.12 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:
http://dev.mysql.com/downloads/installer/
along with .ZIP (no-install) packages for more advanced needs.
8.0.12 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 link lists the changes in the MySQL 8.0 since
the release of MySQL 8.0.11. It may also be viewed
online at
http://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-12.html
Enjoy!
Changes in MySQL 8.0.12 (2018-07-27) * Audit Log Notes * Compilation Notes * Configuration Notes * Function Notes * Logging Notes * MySQL Enterprise Notes * Optimizer Notes * Packaging Notes * Performance Schema Notes * Plugin Notes * Security Notes * Spatial Data Support * SQL Syntax Notes * X Plugin Notes * Functionality Added or Changed * Bugs Fixed Audit Log Notes * For new MySQL installations, the USER and HOST columns in the audit_log_user table used by MySQL Enterprise Audit now have definitions that better correspond to the definitions of the User and Host columns in the mysql.user system table. For upgrades to an installation for which MySQL Enterprise Audit is already installed, it is recommended that you alter the table definitions as follows: ALTER TABLE mysql.audit_log_user DROP FOREIGN KEY audit_log_user_ibfk_1; ALTER TABLE mysql.audit_log_filter CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_ci; ALTER TABLE mysql.audit_log_user CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_ci; ALTER TABLE mysql.audit_log_user MODIFY COLUMN USER VARCHAR(32); ALTER TABLE mysql.audit_log_user ADD FOREIGN KEY (FILTERNAME) REFERENCES mysql.audit_log_filter(NAME) ; (Bug #23706056) Compilation Notes * Microsoft Windows: For OpenSSL 1.1, the library names have changed for Windows. The CMake configuration code now accounts for this. Also, it is now possible on Windows to use -DWITHOUT_SERVER=1 to build 32-bit client binaries. (Bug #28170711, Bug #91223) * The minimum version of the Boost library for server builds is now 1.67.0. (Bug #27866110) Configuration Notes * For RelWithDebInfo builds on Linux, REPRODUCIBLE_BUILD now defaults to ON. (Bug #27483447) * The default value for the slave_pending_jobs_size_max system variable has increased from 16M to 128M. On a multi-threaded slave ( with slave_parallel_workers > 0), this value sets the maximum amount of memory that is made available to slave worker queues holding events that have not yet been applied. The potentially larger memory usage should be taken into account when calculating the resources required to deploy a multi-threaded slave. Masters and single-threaded slaves are not affected by this setting. The new default is double the recently increased default value specified by the max_allowed_packet system variable (now 64M). The value of slave_pending_jobs_size_max is a soft limit, so events larger than its value (consisting of one or more packets) can be queued and processed. However, a large transaction is held until all the slave workers have empty queues, and then processed. All subsequent transactions are held until the large transaction has been completed. The delay to clear the queues of all the slave workers and the wait to queue subsequent transactions can cause lag on the replication slave and decreased concurrency of the slave workers. The value of slave_pending_jobs_size_max should therefore be set high enough to accommodate most expected event sizes. Function Notes * The BIT_AND(), BIT_OR(), and BIT_XOR() aggregate functions now can be used as window functions, if an OVER clause is present. See Aggregate (GROUP BY) Function Descriptions (http://dev.mysql.com/doc/refman/8.0/en/group-by-functions.html). Logging Notes * Previously, log components listed in the log_error_services system variable had to be separated by semicolons. Components now can be separated by commas. A given setting cannot use both semicolon and comma separators. (Bug #27788925, Bug #90268) MySQL Enterprise Notes * The MySQL Enterprise Firewall firewall_whitelist table now contains a primary key column named ID. (Bug #27164826) Optimizer Notes * The filesort algorithm (used by the optimizer to satisfy an ORDER BY clause when no index can be used) is now more memory efficient. The primary change is that the optimizer allocates memory buffers incrementally as needed, up to the size indicated by the sort_buffer_size system variable, rather than allocating a fixed amount of sort_buffer_size bytes up front. This enables users to set sort_buffer_size to larger values to speed up larger sorts, without concern for excessive memory use for small sorts. (This benefit may not occur for multiple concurrent sorts on Windows, which has a weak multithreaded malloc.) In addition, filesort is less pessimistic with respect to worst-case scenarios. Previously, filesort produced an error without starting if merge operations or sort-key generation might fail. Now, because the worst case is unlikely to occur in practice, filesort produces an error only for actual rather than prospective failures. * Previously, extended EXPLAIN output was produced only for SELECT statements. Extended output is now produced for INSERT, REPLACE, UPDATE, and DELETE statements as well. (To display extended output, use SHOW WARNINGS following EXPLAIN. See Extended EXPLAIN Output Format (http://dev.mysql.com/doc/refman/8.0/en/explain-extended.html).) Packaging Notes * Docker disables NUMA-related operations by default, so the mysqld included in Docker images now has NUMA support disabled so that the error log does not fill with NUMA warnings. (Bug #28081363) * RPM .spec files were updated to reflect the removal of yaSSL and that OpenSSL is the default SSL library for all builds. (Bug #28025427) * For generic Linux .tar.gz distributions, the mysqlxtest client has been moved from the server package to the test package. (Bug #27744137) * An RPM package for installing ARM 64-bit (aarch64) binaries of MySQL Server on Oracle Linux 7 is now available in the MySQL Yum Repository and for direct download. Known Limitation for this ARM release: You must enable the Oracle Linux 7 Software Collections Repository (ol7_software_collections) to install this package, and must also adjust the libstdc++7 path. See Yum's Platform Specific Notes (http://dev.mysql.com/doc/refman/8.0/en/linux-installation-yum-repo.html#yum-install-platform-specifics) for additional details. Performance Schema Notes * The maximum value was increased from 256 to 1024 for these Performance Schema system variables: performance_schema_max_cond_classes performance_schema_max_file_classes performance_schema_max_mutex_classes performance_schema_max_rwlock_classes performance_schema_max_socket_classes performance_schema_max_stage_classes performance_schema_max_thread_classes The default value was increased from 250 to 300 for this Performance Schema system variable: performance_schema_max_mutex_classes (Bug #27647918) Plugin Notes * Previously, the Rewriter query rewrite plugin permitted rewriting only for SELECT statements. Rewritable statements now include INSERT, REPLACE, UPDATE, and DELETE as well. See The Rewriter Query Rewrite Plugin (http://dev.mysql.com/doc/refman/8.0/en/rewriter-query-rewrite-plugin.html). Security Notes * The linked OpenSSL library for MySQL Server has been updated to version 1.0.2o. Issues fixed in the new OpenSSL version are described at http://www.openssl.org/news/vulnerabilities.html. (Bug #28025379) Spatial Data Support * Incompatible Change: The new spatial functions ST_Longitude() and ST_Latitude() return the longitude or latitude, respectively, of their Point argument. If called with a second argument, these functions use the argument to set the longitude or latitude, respectively, of their Point argument. In addition, the ST_X() and ST_Y() functions now interpret their Point argument according to its spatial reference system definition (SRS): + ST_X() returns the coordinate value of the axis that appears first in the SRS definition, and ST_Y() returns the coordinate value of the axis that appears second in the SRS definition. + If ST_X() and ST_Y() are used to set the longitude or latitude of a Point argument that has a geographic SRS, the longitude or latitude value must be in the proper range for the SRS, or an error occurs. Note If spatial data contains geometry values that now are interpreted differently by ST_X() and ST_Y(), existing queries using these functions will return different results, compared to previous MySQL versions. (Bug #27125600, Bug #88503) * The EPSG Dataset containing spatial reference system data for spatial calculations has been upgraded from version 9.2 to 9.3. (Bug #27977721) * Previously, the parser recognized USING RTREE in index specifications, but this could not be specified for any storage engine. Now USING RTREE is permitted for spatial index specifications. (Bug #27836608) * Indexes on geometry columns now must be spatial indexes. Consequently, the SPATIAL keyword is optional but implicit for creating an index on a spatial column. A spatial index on a geometry column is not permitted for a primary key or unique index. Also, ASC and DESC are not permitted for spatial indexes. (Bug #21087676) SQL Syntax Notes * Explicit ASC or DESC qualifiers for GROUP BY clauses are now deprecated and will be removed in a future MySQL version. X Plugin Notes * Authentication errors returned from a MySQL 8.0.11 server to an X Plugin client were marked as fatal, which caused the client to stop attempting its automatic sequence of authentication attempts using different methods. X Plugin now ignores fatal authentication errors, and subsequent expected errors such as write timeout errors, while the sequence of authentication attempts is in progress. If none of the authentication methods tried are successful, X Plugin now selects and returns the most relevant error message received from the server, which is not necessarily the last error message received. (Bug #28135006) * During the X Plugin automated authentication sequence, connection attempts are made using different authentication methods in a pre-set sequence. X Plugin checks before starting the sequence whether the connection uses SSL or not, and does not attempt connection with the PLAIN authentication method if the connection is not encrypted. For additional verification, a check and error were added so that the PLAIN authentication method is disallowed if attempted when the connection is not encrypted. (Bug #27691189) * In the event of an authentication failure, X Plugin always returned the error code ER_ACCESS_DENIED, with a custom X Protocol error message for the error situation. The error codes that are received from the MySQL server for authentication failures are now passed on to the client instead, with the standard MySQL error messages that go with them. (Bug #27675699) * During the X Plugin automated authentication sequence, where connection attempts are made using different authentication methods in a pre-set sequence, the error returned after every failed connection attempt was marked with the severity FATAL. Now, the errors are marked as ERROR while there are still other authentication methods to be attempted, and only the final error that results in disconnection is marked as FATAL. (Bug #27636947) * The X Plugin code was being compiled twice with different preprocessor definitions. (Bug #27267054) * A number of improvements were made to the handling of authentication issues by X Plugin: + The X Plugin automated authentication sequence, where connection attempts are made using different authentication methods in a pre-set sequence, is now halted if an error response indicates that the connection has been broken or reads or writes are timing out. + The automated authentication sequence is also now halted in the event of any fatal error. + The last significant error is now reported for an abandoned authentication sequence, not just the last error that occurred. + A more specific error code and message are now reported if authentication with the caching_sha2_password authentication plugin is attempted over an unsecure connection. (Bug #27257774) * In some circumstances, a MySQL server with X Plugin loaded could experience an unexpected halt during a shutdown process initiated by a failed start or by the RESTART command. The issue has now been fixed. (Bug #25474793, Bug #27259783) Functionality Added or Changed * Important Change; Replication: Use the group_replication_exit_state_action option to configure how Group Replication behaves when a server instance leaves the group unintentionally, for example after encountering an applier error. When group_replication_exit_state_action is set to ABORT_SERVER, the instance shuts itself down, and when group_replication_exit_state_action is set to READ_ONLY the server switches itself to super read only mode instead. * InnoDB: InnoDB now supports ALGORITHM=INSTANT for the following ALTER TABLE operations: + Adding a column. This feature is referred to as "Instant ADD COLUMN". + Adding or dropping a virtual column. + Adding or dropping a column default value. + Modifying the definition of an ENUM or SET column. + Changing the index type. + Renaming a table. Operations that support ALGORITHM=INSTANT only modify metadata in the data dictionary. No exclusive metadata locks are taken on the table during preparation and execution phases of the operation, and table data is unaffected, making the operations instantaneous. If not specified explicitly, ALGORITHM=INSTANT is used by default by operations that support it. If ALGORITHM=INSTANT is specified but not supported, the operation fails immediately with an error. For more information about operations that support ALGORITHM=INSTANT, see Online DDL Operations (http://dev.mysql.com/doc/refman/8.0/en/innodb-create-index-overview.html). Thanks to the Tencent Games DBA team for the contribution. * InnoDB: Undo logging is now supported for small updates to large object (LOB) data, which improves performance of LOB updates that are 100 bytes in size or less. Previously, LOB updates were a minimum of one LOB page in size, which is less than optimal for updates that might only modify a few bytes. This enhancement builds upon support added in MySQL 8.0.4 for partial fetch and update of LOB data. * Replication: Information about XCom's memory usage has been added to the Performance Schema tables. The setup_instruments table now has an entry corresponding to the XCom cache, and the memory_summary_global_by_event_name table contains the memory usage statistics of the XCom cache. * Microsoft Windows: On Windows, the forking used to implement RESTART was suppressible using the --gdb option. However, this was a side effect, performed in addition to the other option actions done to set up a debugging environment. In non-debug settings, the new --no-monitor option may be used for the sole purpose of suppressing forking the monitor process. For a server started with either --gdb or --no-monitor, executing RESTART causes the server to simply exit without restarting. (Bug #27801043) * Checking for foreign key relationships by DROP TABLE and DROP DATABASE was improved. Parent and child tables now can be dropped in arbitrary order, as long as they are dropped by the same DROP TABLE statement. In addition, error reporting was improved for attempts to drop a parent table without dropping a child table. (Bug #27821060) * When support for roles was added, the ADMIN keyword became a reserved keyword. ADMIN is now once again a nonreserved keyword. (Bug #27814204) * When a client shuts down the server, the server now writes a message to the error log indicating which user performed this action. (Bug #26246628, Bug #86635) * Previously, for the --ssl-mode=VERIFY_IDENTITY option, the client checked whether the host name that it used for connecting matched the Common Name value in the certificate but not the Subject Alternative Name value. Now, if the client uses OpenSSL 1.0.2 or higher, the client checks whether the host name matches either the Subject Alternative Name value or the Common Name value in the server certificate. Thanks to Daniël van Eeden for the patch. (Bug #16211011, Bug #68052, Bug #27511233, Bug #89578)
Subject
Views
Written By
Posted
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.