Dear MySQL users, MySQL Connector/Python 8.0.12 is the second GA release version of the MySQL Connector Python 8.0 series. This series adds support for the new X DevAPI. The X DevAPI enables application developers to write code that combines the strengths of the relational and document models using a modern, NoSQL-like syntax that does not assume previous experience writing traditional SQL. To learn more about how to write applications using the X DevAPI, see http://dev.mysql.com/doc/x-devapi-userguide/en/. For more information about how the X DevAPI is implemented in MySQL Connector/Python, and its usage, see http://dev.mysql.com/doc/dev/connector-python. Please note that the X DevAPI requires MySQL Server version 5.7.12 or higher with the X Plugin enabled. For general documentation about how to get started using MySQL as a document store, see http://dev.mysql.com/doc/refman/5.7/en/document-store.html. To download MySQL Connector/Python 8.0.12, see the "General Available (GA) releases" tab at http://dev.mysql.com/downloads/connector/python/ Enjoy! Changes in MySQL Connector/Python 8.0.12 (2018-07-27, General Availability) * Installation Notes * X DevAPI Notes * Functionality Added or Changed * Bugs Fixed Installation Notes * Because the Microsoft Visual C++ 2017 Redistributable installer deletes the Microsoft Visual C++ 2015 Redistributable registry keys that identify its installation, standalone MySQL MSIs may fail to detect the Microsoft Visual C++ 2015 Redistributable if both it and the Microsoft Visual C++ 2017 Redistributable are installed. The solution is to repair the Microsoft Visual C++ 2017 Redistributable via the Windows Control Panel to recreate the registry keys needed for the runtime detection. Unlike the standalone MSIs, MySQL Installer for Windows contains a workaround for the detection problem. (Bug #28345281, Bug #91542) X DevAPI Notes * For compliance with the Core DevAPI, these Connector/Python changes were made: + DatabaseObject: Deprecated: am_i_real() and who_am_i(). Added: get_session() and the session property. + Collection.modify(): Deprecated: limit(x, y)'s second parameter, where(condition), and change(CollectionField, ExprOrLiteral). Changed: the modify(condition) condition is now mandatory. + Collection.find(): Deprecated: limit(x, y)'s second parameter. Added: limit(x).offset(y). + Collection.remove(): Deprecated: limit(x, y)'s second parameter and where(condition). Changed: the modify(condition) condition is now mandatory. + Table.select(): Deprecated: limit(x, y)'s second parameter and sort(). Added: limit(x).offset(y). + Table.delete(): Deprecated: limit(x, y)'s second parameter and sort(). Removed: delete(x)'s parameter in favor of using where() instead. Added: order_by(). + Table.update(): Deprecated: limit(x, y)'s second parameter, and the sort() method. Added: order_by(). + Session: Added: get_schemas(). + Result: Deprecated: get_document_id() and get_generated_insert_id(). Moved: get_affected_items_count() to the BaseResult class. + RowResult: Added: get_columns(). + SqlResult: Added: has_data(). + Column: Renamed: ColumnMetaData to Column. Added properties: schema_name, table_name, table_label, column_name, column_label, type, length, fractional_digits, collation_name, character_set_name. Functionality Added or Changed * Removed MySQL Fabric support. * An RPM package for installing ARM 64-bit (aarch64) binaries of Connector/Python 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. Bugs Fixed * The default character set changed from 'utf8' (an alias to the deprecated 'utf8mb3' character set) to 'utf8mb4'. (Bug #28188883) * Fixed datetime conversion compatibility between Django 2.0 and MySQL 8.0. A workaround was to use Connector/Python's pure Python implementation instead the C extension by setting "use_pure=True" in Django's database options. (Bug #27962293, Bug #90541) * The get_row() and get_rows() behavior differed with the C (connections with CMySQLConnection) and pure Python (connections with MySQLConnection) implementations of the connector. The resolved differences are: + With the pure Python implementation, all data was returned as bytearrays; while the C implementation returned all data as Python types with CMySQLConnection (cext). Both now return Python types. + With the pure Python implementation, they returned a tuple with (row(s), eof), but with the C Extension they only returned the row(s). Now both implementations return the tuple form; (row(s), eof). + For queries returning a result, with pure Python the warning count was part of the returned eof. With the C extension, warning count was only available using the warning_count property of the connection object. Related, the warning_count property was not available in the pure Python implementation. Now, result includes the warning count for both implementations. + Fetching rows using pure Python would automatically set the unread_rows property to False. With the C extension, explicitly calling the free_result() method of the connection object was required. Related, free_result() was only available with the C extension. Now, both implementations set unread_rows to False. (Bug #27411275, Bug #27991948, Bug #27802700, Bug #28133321, Bug #27650437, Bug #89305, Bug #90799, Bug #90292, Bug #91107) * Connecting with a collation unknown to Connector/Python would yield an unknown character set error. It now properly references the unknown collation. (Bug #27277937) * Deprecated the Row.get_string() method in favor of __getitem__. (Bug #26834200, Bug #87777) Enjoy and thanks for the support! On behalf of the MySQL Release Team, Nawaz Nazeer Ahamed
↧
MySQL Connector/Python 8.0.12 has been released (no replies)
↧
MySQL Cluster 7.5.11 has been released (no replies)
Dear MySQL Users, MySQL Cluster is the distributed, shared-nothing variant of MySQL. This storage engine provides: - In-Memory storage - Real-time performance (with optional checkpointing to disk) - Transparent Auto-Sharding - Read & write scalability - Active-Active/Multi-Master geographic replication - 99.999% High Availability with no single point of failure and on-line maintenance - NoSQL and SQL APIs (including C++, Java, http, Memcached and JavaScript/Node.js) MySQL Cluster 7.5.11, has been released and can be downloaded from http://www.mysql.com/downloads/cluster/ where you will also find Quick Start guides to help you get your first MySQL Cluster database up and running. MySQL Cluster 7.5 is also available from our repository for Linux platforms, go here for details: http://dev.mysql.com/downloads/repo/ The release notes are available from http://dev.mysql.com/doc/relnotes/mysql-cluster/7.5/en/index.html MySQL Cluster enables users to meet the database challenges of next generation web, cloud, and communications services with uncompromising scalability, uptime and agility. More details can be found at http://www.mysql.com/products/cluster/ Enjoy ! Changes in MySQL NDB Cluster 7.5.11 (5.7.23-ndb-7.5.11) (2018-07-27, General Availability) MySQL NDB Cluster 7.5.11 is a new release of MySQL NDB Cluster 7.5, based on MySQL Server 5.7 and including features in version 7.5 of the NDB (http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster.html) storage engine, as well as fixing recently discovered bugs in previous NDB Cluster releases. Obtaining MySQL NDB Cluster 7.5. MySQL NDB Cluster 7.5 source code and binaries can be obtained from http://dev.mysql.com/downloads/cluster/. For an overview of changes made in MySQL NDB Cluster 7.5, see What is New in NDB Cluster 7.5 (http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-what-is-new-7-5.html). This release also incorporates all bug fixes and changes made in previous NDB Cluster releases, as well as all bug fixes and feature changes which were added in mainline MySQL 5.7 through MySQL 5.7.23 (see Changes in MySQL 5.7.23 (2018-07-27, General Availability) (http://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-23.html)). Bugs Fixed * ndbinfo Information Database: It was possible following a restart for (sometimes incomplete) fallback data to be used in populating the ndbinfo.processes (http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-ndbinfo-processes.html) table, which could lead to rows in this table with empty process_name values. Such fallback data is no longer used for this purpose. (Bug #27985339) * MySQL NDB ClusterJ: ClusterJ could not be built from source using JDK 9. (Bug #27977985) * NDB attempted to drop subscriptions which had already been dropped, leading to a data node shutdown with Error 2341. (Bug #27622643) * An NDB (http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster.html) online backup consists of data, which is fuzzy, and a redo and undo log. To restore to a consistent state it is necessary to ensure that the log contains all of the changes spanning the capture of the fuzzy data portion and beyond to a consistent snapshot point. This is achieved by waiting for a GCI boundary to be passed after the capture of data is complete, but before stopping change logging and recording the stop GCI in the backup's metadata. At restore time, the log is replayed up to the stop GCI, restoring the system to the state it had at the consistent stop GCI. A problem arose when, under load, it was possible to select a GCI boundary which occurred too early and did not span all the data captured. This could lead to inconsistencies when restoring the backup; these could be be noticed as broken constraints or corrupted BLOB (http://dev.mysql.com/doc/refman/5.7/en/blob.html) entries. Now the stop GCI is chosen is so that it spans the entire duration of the fuzzy data capture process, so that the backup log always contains all data within a given stop GCI. (Bug #27497461) References: See also: Bug #27566346. * For NDB tables, when a foreign key was added or dropped as a part of a DDL statement, the foreign key metatdata for all parent tables referenced should be reloaded in the handler on all SQL nodes connected to the cluster, but this was done only on the mysqld on which the statement was executed. Due to this, any subsequent queries relying on foreign key metadata from the corresponding parent tables could return inconsistent results. (Bug #27439587) References: See also: Bug #82989, Bug #24666177. * The internal function BitmaskImpl::setRange() set one bit fewer than specified. (Bug #90648, Bug #27931995) * It was not possible to create an NDB (http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster.html) table using PARTITION_BALANCE set to FOR_RA_BY_LDM_X_2, FOR_RA_BY_LDM_X_3, or FOR_RA_BY_LDM_X_4. (Bug #89811, Bug #27602352) References: This issue is a regression of: Bug #81759, Bug #23544301. * When the internal function ha_ndbcluster::copy_fk_for_offline_alter() checked dependent objects on a table from which it was supposed to drop a foreign key, it did not perform any filtering for foreign keys, making it possible for it to attempt retrieval of an index or trigger instead, leading to a spurious Error 723 (No such table). * During the execution of CREATE TABLE ... IF NOT EXISTS (http://dev.mysql.com/doc/refman/5.7/en/create-table.html), the internal open_table() function calls ha_ndbcluster::get_default_num_partitions() implicitly whenever open_table() finds out that the requested table already exists. In certain cases, get_default_num_partitions() was called without the associated thd_ndb object being initialized, leading to failure of the statement with MySQL error 157 Could not connect to storage engine. Now get_default_num_partitions() always checks for the existence of this thd_ndb object, and initializes it if necessary.
↧
↧
MySQL Cluster 7.2.34 has been released (no replies)
Dear MySQL Users, MySQL Cluster is the distributed, shared-nothing variant of MySQL. This storage engine provides: - In-Memory storage - Real-time performance (with optional checkpointing to disk) - Transparent Auto-Sharding - Read & write scalability - Active-Active/Multi-Master geographic replication - 99.999% High Availability with no single point of failure and on-line maintenance - NoSQL and SQL APIs (including C++, Java, http and Memcached) MySQL Cluster 7.2.34, has been released and can be downloaded from http://www.mysql.com/downloads/cluster/ where you will also find Quick Start guides to help you get your first MySQL Cluster database up and running. The release notes are available from http://dev.mysql.com/doc/relnotes/mysql-cluster/7.2/en/index.html MySQL Cluster enables users to meet the database challenges of next generation web, cloud, and communications services with uncompromising scalability, uptime and agility. More details can be found at http://www.mysql.com/products/cluster/ Enjoy ! ============================================================================== Changes in MySQL NDB Cluster 7.2.34 (5.5.61-ndb-7.2.34) (2018-07-27, General Availability) MySQL NDB Cluster 7.2.34 is a new release of NDB Cluster, incorporating new features in the NDB storage engine, and fixing recently discovered bugs in previous MySQL NDB Cluster 7.2 development releases. Obtaining MySQL NDB Cluster 7.2. MySQL NDB Cluster 7.2 source code and binaries can be obtained from http://dev.mysql.com/downloads/cluster/. This release also incorporates all bug fixes and changes made in previous NDB Cluster releases, as well as all bug fixes and feature changes which were added in mainline MySQL 5.5 through MySQL 5.5.61 (see Changes in MySQL 5.5.61 (2018-07-27, General availability) (http://dev.mysql.com/doc/relnotes/mysql/5.5/en/news-5-5-61.html)). Bugs Fixed * NDB attempted to drop subscriptions which had already been dropped, leading to a data node shutdown with Error 2341. (Bug #27622643)
↧
MySQL Community Server 5.5.61 has been released (no replies)
Dear MySQL users, MySQL Server 5.5.61 is a new version of the 5.5 production release of the world's most popular open source database. MySQL 5.5.61 is recommended for use on production systems. MySQL 5.5 includes several high-impact enhancements to improve the performance and scalability of the MySQL Database, taking advantage of the latest multi-CPU and multi-core hardware and operating systems. In addition, with release 5.5, InnoDB is now the default storage engine for the MySQL Database, delivering ACID transactions, referential integrity and crash recovery by default. MySQL 5.5 also provides a number of additional enhancements including: - Significantly improved performance on Windows, with various Windows specific features and improvements - Higher availability, with new semi-synchronous replication and Replication Heartbeat - Improved usability, with Improved index and table partitioning, SIGNAL/RESIGNAL support and enhanced diagnostics, including a new Performance Schema monitoring capability. For a more complete look at what's new in MySQL 5.5, please see the following resources: Documentation: http://dev.mysql.com/doc/refman/5.5/en/mysql-nutshell.html If you are running a MySQL production level system, we would like to direct your attention to MySQL Enterprise Edition, which includes the most comprehensive set of MySQL production, backup, monitoring, modeling, development, and administration tools so businesses can achieve the highest levels of MySQL performance, security and uptime. http://mysql.com/products/enterprise/ For information on installing MySQL 5.5.61 on new servers, please see the MySQL installation documentation at http://dev.mysql.com/doc/refman/5.5/en/installing.html For upgrading from previous MySQL releases, please see the important upgrade considerations at: http://dev.mysql.com/doc/refman/5.5/en/upgrading.html MySQL Database 5.5.61 is available in source and binary form for a number of platforms from our download pages at: http://dev.mysql.com/downloads/mysql/ The following link lists the changes in the MySQL source code since the previous released version of MySQL 5.5. It may also be viewed online at: http://dev.mysql.com/doc/relnotes/mysql/5.5/en/news-5-5-61.html Enjoy! Changes in MySQL 5.5.61 (2018-07-27, General availability) Bugs Fixed * A heap overflow vulnerability in the MySQL client library was fixed. (Bug #27980823) * An unencrypted connection could result from a client connection attempt specifying that an encrypted connection was required, if the server was not configured to support SSL. (Bug #27759871) * With automatic_sp_privileges enabled, the EXECUTE and ALTER ROUTINE privileges were not correctly granted to routine creators. (Bug #27407480) * Mishandling of internal privilege structures could cause a server exit. (Bug #27230925) * The UNION of a user-defined variable and a DECIMAL column produced an incorrect result when using a UTF8 character set. (Bug #27197235) * mysqldump exited abnormally for large --where option values. (Bug #26171967, Bug #86496, Bug #27510150) * For MyISAM tables, particular sequences of INSERT and DELETE statements could cause table corruption. (Bug #25541037) On Behalf of the MySQL/Oracle Release Engineering Team, Hery Ramilison
↧
MySQL Cluster 7.4.21 has been released (no replies)
Dear MySQL Users, MySQL Cluster is the distributed, shared-nothing variant of MySQL. This storage engine provides: - In-Memory storage - Real-time performance - Transparent Auto-Sharding - Read & write scalability - Active-Active/Multi-Master geographic replication - 99.999% High Availability with no single point of failure and on-line maintenance - NoSQL and SQL APIs (including C++, Java, http, Memcached and JavaScript/Node.js) MySQL Cluster 7.4 makes significant advances in performance; operational efficiency (such as enhanced reporting and faster restarts and upgrades) and conflict detection and resolution for active-active replication between MySQL Clusters. MySQL Cluster 7.4.21, has been released and can be downloaded from http://www.mysql.com/downloads/cluster/ where you will also find Quick Start guides to help you get your first MySQL Cluster database up and running. The release notes are available from http://dev.mysql.com/doc/relnotes/mysql-cluster/7.4/en/index.html MySQL Cluster enables users to meet the database challenges of next generation web, cloud, and communications services with uncompromising scalability, uptime and agility. More details can be found at http://www.mysql.com/products/cluster/ Enjoy ! Changes in MySQL NDB Cluster 7.4.21 (5.6.41-ndb-7.4.21) (2018-07-27, General Availability) MySQL NDB Cluster 7.4.21 is a new release of MySQL NDB Cluster 7.4, based on MySQL Server 5.6 and including features in version 7.4 of the NDB storage engine, as well as fixing recently discovered bugs in previous NDB Cluster releases. Obtaining MySQL NDB Cluster 7.4. MySQL NDB Cluster 7.4 source code and binaries can be obtained from http://dev.mysql.com/downloads/cluster/. For an overview of changes made in MySQL NDB Cluster 7.4, see What is New in NDB Cluster 7.4 (http://dev.mysql.com/doc/refman/5.6/en/mysql-cluster-what-is-new-7-4.html). This release also incorporates all bug fixes and changes made in previous NDB Cluster releases, as well as all bug fixes and feature changes which were added in mainline MySQL 5.6 through MySQL 5.6.41 (see Changes in MySQL 5.6.41 (Not yet released, General Availability) (http://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-41.html)). Bugs Fixed * NDB Cluster APIs: When Ndb::dropEventOperation() tried to clean up a pending event, it failed to clear a pointer to the list of GCI operations being deleted and discarded (Gci_ops object), so that this pointer referred to a deleted object. GCI operations arriving after this could then be inserted as part of the next such list belonging to the now-deleted object, leading to memory corruption and other issues. (Bug #90011, Bug #27675005) * NDB attempted to drop subscriptions which had already been dropped, leading to a data node shutdown with Error 2341. (Bug #27622643) * An NDB online backup consists of data, which is fuzzy, and a redo and undo log. To restore to a consistent state it is necessary to ensure that the log contains all of the changes spanning the capture of the fuzzy data portion and beyond to a consistent snapshot point. This is achieved by waiting for a GCI boundary to be passed after the capture of data is complete, but before stopping change logging and recording the stop GCI in the backup's metadata. At restore time, the log is replayed up to the stop GCI, restoring the system to the state it had at the consistent stop GCI. A problem arose when, under load, it was possible to select a GCI boundary which occurred too early and did not span all the data captured. This could lead to inconsistencies when restoring the backup; these could be be noticed as broken constraints or corrupted BLOB entries. Now the stop GCI is chosen is so that it spans the entire duration of the fuzzy data capture process, so that the backup log always contains all data within a given stop GCI. (Bug #27497461) References: See also: Bug #27566346. On Behalf of MySQL Release Engineering team, Surabhi Bhat
↧
↧
MySQL Connector/J 8.0.12 has been released (no replies)
Dear MySQL users, MySQL Connector/J Version 8.0.12 is the second GA release of the 8.0 branch of MySQL Connector/J. It is suitable for use with MySQL Server versions 5.5, 5.6, 5.7, and 8.0. It supports the Java Database Connectivity (JDBC) 4.2 API, and implements the X DevAPI. This release includes the following new features and changes, also described in more detail on https://dev.mysql.com/doc/relnotes/connector-j/8.0/en/news-8-0-12.html As always, we recommend that you check the "CHANGES" file in the download archive to be aware of changes in behavior that might affect your application. To download MySQL Connector/J 8.0.12 GA, see the "Generally Available (GA) Releases" tab at http://dev.mysql.com/downloads/connector/j/ Enjoy! Changes in MySQL Connector/J 8.0.12 (2018-07-27, General Availability) Version 8.0.12 is the latest General Availability release of the 8.0 series of MySQL Connector/J. It is suitable for use with MySQL Server versions 8.0, 5.7, 5.6, and 5.5. * Functionality Added or Changed * Bugs Fixed Functionality Added or Changed * X DevAPI: The following changes have been made to the API: + Removed ModifyStatement.arrayDelete() and ModifyStatement.merge(). + Renamed Colletion.find().limit().skip() to Colletion.find().limit().offset(). + To simplify the class hierarchy and to have the class names reflect better the classes' functions, the following changes have been made: o The FindParams class has been renamed to FilterParams o The AbstractFindParams class has been renamed to AbstractFilterParams o The DocFindParams class has been renamed to DocFilterParams o The TableFindParams class has been renamed to TableFilterParams Notice that the methods in the original FilterParams class have been moved under the new AbstractFilterParams class. (Bug #28027459) * X DevAPI: Connector/J now uses synchronous client sockets (java.net.Socket) by default to communicate with MySQL servers for X Protocol connections. While asynchronous sockets can still be used by setting the connection property xdevapi.useAsyncProtocol=true, this is not recommended, as it might result in performance degradation for Connector/J. (Bug #27522054) * X DevAPI: Connector/J now gives provision for the use of a custom socket factory for X Protocol connections to MySQL Servers using Unix domain sockets. See Section 6.8, "Connecting Using Unix Domain Sockets" for details. * Connector/J now retrieves the MySQL keyword list from the INFORMATION_SCHEMA.KEYWORDS ( http://dev.mysql.com/doc/refman/8.0/en/keywords-table.html ) table on the MySQL server when a connection session is established. The list can then be accessed by calling DatabaseMetaData.getSQLKeywords(). * To simplify the code, the ReadableProperty and ModifiableProperty classes have been consolidated into the RuntimeProperty class. Bugs Fixed * X DevAPI: When creating an X DevAPI session using a Properties map instead of a connection string, referring to property keys like host, port, and protocol in lowercase caused a NullPointerException. With the fix, both upper and lower cases can now be used. (Bug#27652379) * X DevAPI: When using the getConnection() method with the mysqlx: scheme in the connection URL, Connector/J returned an ordinary JDBC connection instead of an X-Protocol connection. (Bug #26089880) * If wait_timeout was set on the server and the Connector/J had the connection property interactiveClient=false, or if interactive_timeout was set on the server and Connector/J had the connection property interactiveClient=true, a connection is invalidated when it has idled for a longer time than the set timeout. When such a timeout occurred, Connector/J threw a CJCommunicationsException, without indicating it was a timeout. With this fix, the error message returned explains the issue and suggests how to avoid it. (Bug#27977617, Bug #90753) * When an application tried to connect to a non-MySQL database through some JDBC driver and Connector/J happened to be on the class path also, Connector/J threw a SQLNonTransientConnectionException, which prevented the application from connecting to its database. With this fix, Connector/J returns null whenever a connection string does not start with jdbc:mysql: or mysqlx:, so connections to non-MySQL databases are not blocked. (Bug#26724154, Bug #87600) * A wasNull() call on a ResultSet did not return the proper value unless AbstractResultsetRow.getNull() or AbstractResultsetRow.getValueFromByte() was called before. This caused data loss when Connector/J was used with frameworks like Hibernate, which rely on wasNull() calls to properly retrieve data. With this fix, wasNull() returns a correct value as long as some getter method has been called before on the ResultSet. (Bug #25924324, Bug#85941) On Behalf of Oracle/MySQL Release Engineering Team Prashant Tekriwal
↧
MySQL Connector/NET 8.0.12 has been released (no replies)
Dear MySQL users, MySQL Connector/NET 8.0.12 is the second general availability release of MySQL Connector/NET to add support for the new X DevAPI. The X DevAPI enables application developers to write code that combines the strengths of the relational and document models using a modern, NoSQL-like syntax that does not assume previous experience writing traditional SQL. To learn more about how to write applications using the X DevAPI, see http://dev.mysql.com/doc/x-devapi-userguide/en/index.html. For more information about how the X DevAPI is implemented in Connector/NET, see http://dev.mysql.com/doc/dev/connector-net. NuGet packages provide functionality at a project level. To get the full set of features available in Connector/NET such as availability in the GAC, integration with Visual Studio's Entity Framework Designer and integration with MySQL for Visual Studio, installation through the MySQL Installer or the stand-alone MSI is required. Please note that the X DevAPI requires at least MySQL Server version 5.7.12 or higher with the X Plugin enabled. For general documentation about how to get started using MySQL as a document store, see http://dev.mysql.com/doc/refman/5.7/en/document-store.html. To download MySQL Connector/NET 8.0.12, see http://dev.mysql.com/downloads/connector/net/ Installation instructions can be found at https://dev.mysql.com/doc/connector-net/en/connector-net-installation.html Changes in MySQL Connector/NET 8.0.12 (2018-07-27, General Availability) Known Limitation of This Release To create a model in Entity Framework (EF) Core v2.0 with scaffolding in this release, use the following alternative procedure: 1. Downgrade to EF Core 1.0 or 1.1 in your project, install the MySql.Data.EntityFrameworkCore.Design NuGet package, and then create your model using the scaffolding or migration command. 2. With the model created, revert back to EF Core 2.0 in your project, update the MySql.Data.EntityFrameworkCore NuGet package, and then remove the package MySql.Data.EntityFrameworkCore.Design from your project. We are sorry for this temporary inconvenience. * Functionality Added or Changed * Bugs Fixed Functionality Added or Changed * Optimistic locking using a database-generated field was improved with the inclusion of the [ConcurrencyCheck, DatabaseGenerated(DatabaseGeneratedOption.Computed)] attribute. Thanks to Tony Ohagan for the patch. (Bug #28095165, Bug #91064) * Members of several classes in the X DevAPI were added, modified, or removed. MySqlX.XDevAPI.Collection and MySqlX.XDevAPI.Collection<T> classes: + Remove(Object) method was marked Obsolete. + Remove(DbDoc) method was marked Obsolete. + CreateIndex() method was modified to be a direct-execute method (no longer requires .Execute() to execute). MySqlX.XDevAPI.Common.Result class: + RecordsAffected property (now obsolete) was replaced with AffectedItemsCount. + WarningCount property (now obsolete) was replaced with WarningsCount. MySqlX.XDevAPI.CRUD.FindStatement class: + GroupBy() method was added. + Having() method was added. + Limit(Int64, Int64) method was marked Obsolete. + Offset() method was added. + Sort() method was added. + OrderBy() method was removed. MySqlX.XDevAPI.CRUD.ModifyStatement class: + ArrayInsert method was added. + ArrayAppend method was added. + Unset() method was modified to accept an array of document paths. MySqlX.XDevAPI.CRUD.RemoveStatement class: + Sort() method was added. + OrderBy() method was removed. MySqlX.XDevAPI.Relational.RowResult class: + ColumnCount property was added. + ColumnNames property was added. MySqlX.XDevAPI.Relational.SqlResult class: + AutoIncrementValue property was marked Obsolete. MySqlX.XDevAPI.Relational.TableSelectStatement class: + Limit(Int64, Int64) method was marked Obsolete. + Offset() method was added. MySqlX.XDevAPI.Session class: + Commit() method was changed to be a direct-execute method and now it returns void. + Rollback() method was changed to be a direct-execute method and now it returns void. + Uri property was added. + DefaultSchema property was added. (Bug #27732098, Bug #27732175, Bug #27732235) * The MySqlX.XDevAPI.MySqlXConnectionStringBuilder class was added to provide connection-string options that apply exclusively to X Protocol connections. In addition, the Auth, SslCa, and SslCrl properties in the MySql.Data.MySqlClient.MySqlConnectionStringBuilder class were marked Obsolete. Bugs Fixed * X DevAPI: Decimal numbers passed to the DbDoc class were not parsed properly when the values included a decimal separator other than a period (.) character. (Bug #28112229) * X DevAPI: The list of members shown with IntelliSense did not match the members provided in the reference documentation. (Bug #27918879, Bug #90615) * The Entity Framework Core implementation did not render accented characters correctly on bases with different UTF-8 encoding. Thanks to Kleber kleberksms for the patch. (Bug #27818822, Bug #90316) * The TreatTinyAsBoolean connection option was ignored when the MySqlCommand.Prepare() method was called. (Bug #27113566, Bug #88472) * All columns of type TINYINT(1) stopped returning the expected Boolean value after the connector encountered a NULL value in any column of this type. Thanks to David Warner for the patch. (Bug #22101727, Bug #78917) On Behalf of MySQL Release Engineering team, Surabhi Bhat
↧
MySQL Connector/Node.js 8.0.12 has been released (no replies)
Dear MySQL users, MySQL Connector/Node.js is a new Node.js driver for use with the X DevAPI. This release, v8.0.12, is a maintenance release of the MySQL Connector/Node.js 8.0 series. The X DevAPI enables application developers to write code that combines the strengths of the relational and document models using a modern, NoSQL-like syntax that does not assume previous experience writing traditional SQL. MySQL Connector/Node.js can be downloaded through npm (see https://www.npmjs.com/package/@mysql/xdevapi for details) or from https://dev.mysql.com/downloads/connector/nodejs/. To learn more about how to write applications using the X DevAPI, see http://dev.mysql.com/doc/x-devapi-userguide/en/. For more information about how the X DevAPI is implemented in MySQL Connector/Node.js, and its usage, see http://dev.mysql.com/doc/dev/connector-nodejs/. Please note that the X DevAPI requires at least MySQL Server version 8.0 or higher with the X Plugin enabled. For general documentation about how to get started using MySQL as a document store, See http://dev.mysql.com/doc/refman/8.0/en/document-store.html. Changes in MySQL Connector/Node.js 8.0.12 (2018-07-27, General availability) X DevAPI Notes * For compliance with the Core DevAPI, these Connector/Node.js changes were made: + Collection: Deprecated: count(). Changed: getSchema() now returns a Schema instance instead of the schema name. + CollectionModify: Deprecated: limit(x, y)'s second parameter, and arrayDelete(). + CollectionFind: Deprecated: limit(x, y)'s second parameter. Added: limit(x).offset(y). + CollectionRemove: Deprecated: limit(x, y)'s second parameter. + Table: Deprecated: count() and insert(Document) API. Updated: getSchema() now returns a Schema instance instead of the Schema name. Removed: as(). + TableSelect: Deprecated: limit(x, y)'s second parameter. Added: limit(x).offset(y). + TableDelete: Deprecated: limit(x, y)'s second parameter, and delete(x)'s parameter in favor of using where(x) instead. + TableUpdate: Deprecated: limit(x, y)'s second parameter, and update(x)'s parameter in favor of using where(x) instead. + SqlExecute: Deprecated: sqlExecute() in favor of sql(). Added: bind(). + Column: Added isNumberSigned(), getCollationName(), getCharacterSetName(), and isPadded() Bugs Fixed * The Promise returned by the session.sql().execute() method resolved to a plain JavaScript object rather than a proper Result instance. This meant it lacked access to the API with methods such as getAffectedItemsCount() and getWarnings(). (Bug #28146988) * Retrieving rows with NULL fields would emit an unexpected AssertionError. (Bug #27978594) * The session.close() method is now asynchronous by returning a JavaScript Promise, when before it returned immediately. (Bug #27893001) * The right-padding mechanism was improved. (Bug #27839295) * While calling getSession() without arguments yields an "Invalid parameter." error, passing in '{}' yielded a "Cannot read property 'length' of undefined." error. Now '{}' is allowed, and getSession() defaults to using '' as the user name. (Bug #27730748) * Improved performance for expression parsing and protocol message encoding. On Behalf of the MySQL/Oracle Release Engineering Team, Hery Ramilison
↧
MySQL Cluster 7.3.22 has been released (no replies)
Dear MySQL Users, MySQL Cluster is the distributed, shared-nothing variant of MySQL. This storage engine provides: - In-Memory storage - Real-time performance (with optional checkpointing to disk) - Transparent Auto-Sharding - Read & write scalability - Active-Active/Multi-Master geographic replication - 99.999% High Availability with no single point of failure and on-line maintenance - NoSQL and SQL APIs (including C++, Java, http, Memcached and JavaScript/Node.js) MySQL Cluster 7.3.22, has been released and can be downloaded from http://www.mysql.com/downloads/cluster/ where you will also find Quick Start guides to help you get your first MySQL Cluster database up and running. The release notes are available from http://dev.mysql.com/doc/relnotes/mysql-cluster/7.3/en/index.html MySQL Cluster enables users to meet the database challenges of next generation web, cloud, and communications services with uncompromising scalability, uptime and agility. More details can be found at http://www.mysql.com/products/cluster/ Enjoy ! Changes in MySQL NDB Cluster 7.3.22 (5.6.41-ndb-7.3.22) (2018-07-27, General Availability) MySQL NDB Cluster 7.3.22 is a new release of NDB Cluster, based on MySQL Server 5.6 and including features from version 7.3 of the NDB (http://dev.mysql.com/doc/refman/5.6/en/mysql-cluster.html) storage engine, as well as fixing a number of recently discovered bugs in previous NDB Cluster releases. Obtaining MySQL NDB Cluster 7.3. MySQL NDB Cluster 7.3 source code and binaries can be obtained from http://dev.mysql.com/downloads/cluster/. For an overview of changes made in MySQL NDB Cluster 7.3, see What is New in NDB Cluster 7.3 (http://dev.mysql.com/doc/refman/5.6/en/mysql-cluster-what-is-new-7-3.html). This release also incorporates all bug fixes and changes made in previous NDB Cluster releases, as well as all bug fixes and feature changes which were added in mainline MySQL 5.6 through MySQL 5.6.41 (see Changes in MySQL 5.6.41 (Not yet released, General Availability) (http://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-41.html)). Version 5.6.41-ndb-7.3.22 has no changelog entries, or they have not been published because the product version has not been released. On Behalf of Oracle/MySQL Release Engineering Team Piotr Obrzut
↧
↧
MySQL Shell 8.0.12 for MySQL Server 8.0 and 5.7 has been released (no replies)
Dear MySQL users, MySQL Shell 8.0.12 is a maintenance release of MySQL Shell 8.0 Series (a component of the MySQL Server). The MySQL Shell is provided under Oracle's dual-license. MySQL Shell 8.0 is highly recommended for use with MySQL Server 8.0 and 5.7. Please upgrade to MySQL Shell 8.0.12. MySQL Shell is an interactive JavaScript, Python and SQL console interface, supporting development and administration for the MySQL Server. It provides APIs implemented in JavaScript and Python that enable you to work with MySQL InnoDB cluster and use MySQL as a document store. The AdminAPI enables you to work with MySQL InnoDB cluster, providing an integrated solution for high availability and scalability using InnoDB based MySQL databases, without requiring advanced MySQL expertise. For more information about how to configure and work with MySQL InnoDB cluster see https://dev.mysql.com/doc/refman/en/mysql-innodb-cluster-userguide.html. The X DevAPI enables you to create "schema-less" JSON document collections and perform Create, Update, Read, Delete (CRUD) operations on those collections from your favorite scripting language. For more information about how to use MySQL Shell and the MySQL Document Store support see https://dev.mysql.com/doc/refman/en/document-store.html. For more information about the X DevAPI see https://dev.mysql.com/doc/x-devapi-userguide/en/. If you want to write applications that use the the CRUD based X DevAPI you can also use the latest MySQL Connectors for your language of choice. For more information about Connectors see https://dev.mysql.com/doc/index-connectors.html. For more information on the APIs provided with MySQL Shell see https://dev.mysql.com/doc/dev/mysqlsh-api-javascript/8.0/ and https://dev.mysql.com/doc/dev/mysqlsh-api-python/8.0/. Using MySQL Shell's SQL mode you can communicate with servers using the legacy MySQL protocol. Additionally, MySQL Shell provides partial compatibility with the mysql client by supporting many of the same command line options. For full documentation on MySQL Server, MySQL Shell and related topics, see https://dev.mysql.com/doc/mysql-shell/8.0/en/ For more information about how to download MySQL Shell 8.0.12, see the "Generally Available (GA) Releases" tab at http://dev.mysql.com/downloads/shell/ We welcome and appreciate your feedback and bug reports, see http://bugs.mysql.com/ Enjoy! Changes in MySQL Shell 8.0.12 (2018-07-27, General Availability) Functionality Added or Changed * Important Change: An RPM package for installing ARM 64-bit (aarch64) binaries of MySQL Shell 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-installatio n-yum-repo.html#yum-install-platform-specifics) for additional details. * MySQL Shell now enables you to store user credentials in an operating system specific secret store. You can then enter a MySQL user's password during connection and store it for future connections. Currently the following secret stores are supported: + MySQL login-path + MacOS keychain + Windows API (Bug #23304789, Bug #81484) * The way you access the online Shell help has been standardized. Use the \help pattern command to search the help. The scope of the command has been increased to support retrieving help for the following categories: + Class and function help for the Admin API, X DevAPI and Shell API. Previously, to retrieve help for API objects, you had to create an instance of the object and use the object.help() method. + SQL syntax help, provided that a global session object exists. Wildcards can now be used to search for help. A number of additional bugs relating to incomplete help information have also been fixed. (Bug #23255291, Bug #81277, Bug #24963435, Bug #25732663, Bug #85481, Bug #25739522, Bug #85511, Bug #25739664, Bug #85514, Bug #26393155, Bug #86950, Bug #24943074, Bug #26429399, Bug #87037, Bug #27870491, Bug #90455, Bug #27870503, Bug #90456, Bug #27875150, Bug #90474, Bug #24948933, Bug #83527) * The util.checkForServerUpgrade() operation has an additional outputFormat parameter that you can specify when running the utility. The utility can now generate output in two formats: + TEXT format, which is the default. This option provides output suitable for humans, as previously returned by the utility. + JSON format. This option provides output suitable for machines, which can be parsed and processed for various further use cases. * The cluster.removeInstance() command has been improved, with the following changes: + A new interactive option has been added to enable or disable interactive mode for the command. The output displayed in interactive mode has been improved, displaying more useful information.In interactive mode, you are prompted to continue with the removal of the instance (or not) in case it is not reachable. + The operation now ensures that the instance is removed from the metadata of all the cluster members and itself. This only applies to ONLINE members. + A new global option dba.gtidWaitTimeout is available to define the timeout to wait for transactions (GTIDs) to be applied when required by AdminAPI commands. If the timeout value defined by dba.gtidWaitTimeout is reached when waiting for the cluster transactions to be applied for cluster.removeInstance() and force: false (or not defined) then an error is issued and the operation aborted. When force: true then the operation continues and does not generate an error. References: See also: Bug #27817894. * When using the ipWhitelist to define which servers could access the cluster, the internal user accounts were not matching the whitelist. Now AdminAPI applies the same filtering logic from ipWhitelist for the internal administrative accounts. References: See also: Bug #26140094, Bug #28165891. * In order to be compliant with the X DevAPI specification, the following changes have been made: + Collection.modify(condition).arrayDelete() and Collection.modify(condition).merge() have been deprecated. + Collection.find().limit(x).skip(y) has been renamed to Collection.find().limit(x).offset(y). + Collection.find().limit(x).skip(y) has been deprecated. + Collection.find().limit(x).offset(y) has been implemented. + BaseResult.getAffectedItemsCount() has been implemented. + BaseResult.getWarningCount() has been deprecated. + BaseResult.getWarningsCount() has been implemented. + Result.getAffectedItemCount() has been deprecated. + SqlResult.getAffectedRowCount() has been deprecated. + SqlResult.nextDataSet() has been renamed to SqlResult.nextResult(). + SqlResult.nextDataSet() has been deprecated. + SqlResult.nextResult() has been implemented. Bugs Fixed * The sample prompt theme files for MySQL Shell were deployed to an incorrect location on the Windows platform, in the root install folder. The files are now correctly deployed in the \share\mysqlsh\prompt sub-folder. (Bug #28188761) * The cluster.forceQuorumUsingPartitionOf() operation sets the group_replication_force_members variable on the target instance to force a new group membership and restore the quorum, but it did not reset the value of the variable at the end of the process. Consequently, if Group Replication later needed to be restarted on the target instance it failed because the group_replication_force_members variable was still set. Now, the group_replication_force_members variable is reset to an empty string at the end of the cluster.forceQuorumUsingPartitionOf() operation. (Bug #28064621) * When upgrading from version 1.0.11 to version 8.0.11 of MySQL Shell on Linux, the upgrade failed if the original package was the community edition and the new package was the commercial edition, or vice versa. Upgrading from one edition to the other edition is now enabled. (Bug #28037407) * The util.checkForServerUpgrade() operation can now use either an X Protocol connection or a classic MySQL protocol connection. (Bug #28027707) * The checkForServerUpgrade() operation to verify upgrade prerequisites included an unnecessary check relating to ZEROFILL and display length attributes in columns. The check has now been removed. (Bug #27927641, Bug #90634) * Some messages displayed by MySQL Shell were showing a MySQL server version that does not exist. (Bug #27924694) * For sessions using the classic MySQL protocol, if the session_track_gtids system variable is set on the server to capture and return GTIDs to the client, MySQL Shell now displays the GTIDs for successfully committed transactions. The returned GTID values are also now recorded in tracing information. (Bug #27871148) * When the defaultMode MySQL Shell configuration option had been set with the --persist option, batch code execution from a file was always attempted using the specified default language, even if the file extension indicated a different supported language. Now when a file is loaded for batch processing using the --file or -f option, files with the extensions .js, .py, and .sql are processed in the appropriate language mode, regardless of the set default language. (Bug #27861407) * The methods provided in the shell.options configuration interface to set and save persistent option values used underscores in JavaScript as well as in Python mode. The methods have now been changed to shell.options.setPersist() and shell.options.unsetPersist() in JavaScript to follow the appropriate naming convention. (Bug #27861141) * When executing a SQL script using MySQL Shell, delimiters ( such as the default semi-colon character) present in multi-line comments caused execution to fail. Delimiters are now ignored inside multi-line comments. (Bug #27841719) * MySQL Shell returned an error when querying timestamp values that were zero, because a zero value for the month or day in a date was not accepted. Zero timestamp values can now be used without producing an error. (Bug #27833822, Bug #90355) * The shell.getSession() function returns a reference to the session global object representing the already established connection between MySQL Shell and a MySQL server, known as a global session. MySQL Shell now gracefully handles the situation where the function is called when no global session has yet been established. (Bug #27809310) * It was possible to use AdminAPI operations on server instances running an incompatible version of MySQL. (Bug #27765769) * The setting of the bind_address variable is no longer a requirement. (Bug #27765484) * When creating a cluster or adding an instance, if the localAddress option is not specified, the port used for group_replication_local_address is automatically assigned with the value: port * 10 + 1. However, if the resulting port determined by the previous rule was already in use then a random port was generated and used. Now MySQL Shell checks that the group_replication_local_address port is available, and fails if it is not. (Bug #27758041) * The MySQL Shell application icon on Microsoft Windows was not being displayed for the MySQL Shell 8.0 GA release, due to an incorrect association introduced for the icon during code refactoring. The icon is now displayed correctly. (Bug #27746532) * The dbPassword option is no longer valid in the options dictionary of all AdminAPI commands. (Bug #27745106) * The \status (\s) command in MySQL Shell now displays full information about the version and build of the connected MySQL server. (Bug #27740420) * The check for reserved keywords carried out by the util.checkForServerUpgrade() operation was updated to match the list of reserved keywords for the MySQL 8.0 GA release. (Bug #27724201) * When handling escape sequences, MySQL Shell now identifies and skips over SQL comments and string literals within quotation marks. (Bug #27665229) * Python's mapping type has been added to MySQL Shell, so that dictionary syntax can be used to interact with data in Python mode. (Bug #27614110) * When a file was redirected to standard input for execution in MySQL Shell, on Unix, the first part of the file was taken as being the password. The password prompt now looks for user input first before resorting to standard input. (Bug #27572380) * It was possible to use the dba.forceQuorumUsingPartition() operation on a cluster which had not lost quorum. (Bug #27508698) * The help message for dba.rebootClusterFromCompleteOutage() operation was incorrectly suggesting to use dba.forceQuorumUsingPartition(). (Bug #27508627) * If Ctrl + C was entered or an unexpected error occurred at a password prompt in MySQL Shell, the terminal state was not restored correctly afterwards. (Bug #27379834) * The dba.rebootClusterFromCompleteOutage() operation was creating a new user on the target instances, which could lead to the existence of an increasing number of users. The fix ensures that these users are not created by the dba.rebootClusterFromCompleteOutage() operation. (Bug #27344040) * Now when you issue dba.getCluster() and retrieve a cluster without quorum a warning is issued in addition to the log message. (Bug #27148943) * The memberSslMode option could be used with cluster.addInstance() and cluster.rejoinInstance() operations but if you specified a different value than the one used at cluster creation an error was thrown. Now set the SSL mode at the cluster level only, in other words when issuing dba.createCluster(). The memberSslMode option has been removed from cluster.addInstance() and cluster.rejoinInstance(). (Bug #27062122) * When you issued dba.configureLocalInsance() on an instance, it configured the disabled_storage_engines variable with the MyISAM, BLACKHOLE, FEDERATED, CSV, and ARCHIVE storage engines to ensure that the storage engine was set to InnoDB, as required by Group Replication. The change to this option was not being reported correctly by AdminAPI, and hence the required restart after changing the disabled_storage_engines variable was not clear. This change was deemed a recommendation, rather than a requirement, hence dba.configureLocalInsance() no longer configures disabled_storage_engines. (Bug #26754410) * Creating a cluster using an account which was missing the global grant option failed with an ambiguous error message, even though dba.checkInstanceConfiguration() did not return any errors. Now when you create a cluster, the account being used to administer the cluster is checked to ensure that it has the global grant option. (Bug #25966235) * MySQL Shell is able to automatically reconnect global session when running in the interactive mode, but AdminAPI methods lacked this feature. This resulted in you having to reconnect manually. Now, the AdminAPI methods which utilize the global session object have been improved in order to detect an interrupted session and trigger the reconnection mechanism. The Cluster object uses its own internal session instance, which does not support automatic reconnection. If connection to the cluster is lost, you need to manually recreate the Cluster object. (Bug #24702489) * In the event of a whole cluster stopping unexpectedly, upon reboot the memberSslMode was not preserved. In a cluster where SSL had been disabled, upon issuing dba.rebootClusterFromCompleteOutage() this could prevent instances from rejoining the cluster. (Bug #90793, Bug #27986413) On Behalf of the MySQL/Oracle Release Engineering Team, Hery Ramilison
↧
MySQL Connector/ODBC 5.3.11 has been released (no replies)
Dear MySQL users,
MySQL Connector/ODBC 5.3.11, a new version of the ODBC driver for the
MySQL database management system, has been released.
The available downloads include both a Unicode driver and an ANSI
driver based on the same modern codebase. Please select the driver
type you need based on the type of your application - Unicode or ANSI.
Server-side prepared statements are enabled by default. It is suitable
for use with any MySQL version from 5.5.
This is the fifth release of the MySQL ODBC driver conforming to the
ODBC 3.8 specification. It contains implementations of key 3.8
features, including self-identification as a ODBC 3.8 driver,
streaming of output parameters (supported for binary types only), and
support of the SQL_ATTR_RESET_CONNECTION connection attribute (for the
Unicode driver only).
The release is now available in source and binary form for a number of
platforms from our download pages at
http://dev.mysql.com/downloads/connector/odbc/5.3.html
For information on installing, please see the documentation at
http://dev.mysql.com/doc/connector-odbc/en/connector-odbc-installation.html
On Behalf of Oracle/MySQL Release Engineering Team,
Kent Boortz
MySQL Connector/ODBC 5.3.11, a new version of the ODBC driver for the
MySQL database management system, has been released.
The available downloads include both a Unicode driver and an ANSI
driver based on the same modern codebase. Please select the driver
type you need based on the type of your application - Unicode or ANSI.
Server-side prepared statements are enabled by default. It is suitable
for use with any MySQL version from 5.5.
This is the fifth release of the MySQL ODBC driver conforming to the
ODBC 3.8 specification. It contains implementations of key 3.8
features, including self-identification as a ODBC 3.8 driver,
streaming of output parameters (supported for binary types only), and
support of the SQL_ATTR_RESET_CONNECTION connection attribute (for the
Unicode driver only).
The release is now available in source and binary form for a number of
platforms from our download pages at
http://dev.mysql.com/downloads/connector/odbc/5.3.html
For information on installing, please see the documentation at
http://dev.mysql.com/doc/connector-odbc/en/connector-odbc-installation.html
Changes in MySQL Connector/ODBC 5.3.11 (2018-07-30, General Availability) Functionality Added or Changed * Based on MySQL Client library 5.7.23 it has the support for the new caching_sha2_password authentication method, which allows connecting to MySQL Server 8.0. Bugs Fixed * The Unicode version now uses the UTF8MB4 character set as a transport character set between the MySQL server and the ODBC driver. Because text conversions requested by the ODBC user with the CHARSET connection option are done inside the ODBC Driver after the data is received from the server, it now converts text data as UTF8MB4 to USER_CHARSET instead of UTF8 to USER_CHARSET. (Bug #28204756) * Connections to MySQL Server 8.0 could yield "Source character set not supported by client" errors during sorting and case-sensitive operations. Now known UTF8MB4 collations are used for these operations, such as utf8mb4_general_ci (known to libmysqlclient 5.7) instead of utf8mb4_tolower_ci. (Bug #28116892, Bug #90984) * MySQL Server 8.0 connections could fail with unsupported character sets and collations as utf8mb4_xxxxxx collations reported by MySQL Server 8.0 with numbers greater than 250 were unknown to libmysqlclient 5.7. Because collations affect sorting but not the data conversion, they can be substituted with known collations such as utf8mb4_general_ci (45). (Bug #28116892, Bug #90984) * Connector/ODBC is now built with MySQL client library 5.7.23, and commercial builds also use an updated OpenSSL version (v1.0.2o). Issues fixed in the new OpenSSL version are described at http://www.openssl.org/news/vulnerabilities.html. (Bug #27829777) * Reported errors that occurred while executing multiple statements with a single query were generic and without context. For example, SQLMoreResults might return "unhandled error from mysql_next_result()" instead of the error reported by MySQL Server. (Bug #11757423, Bug #49466)
On Behalf of Oracle/MySQL Release Engineering Team,
Kent Boortz
↧
MySQL Connector/NET 6.10.8 has been released (no replies)
Dear MySQL users, MySQL Connector/NET 6.10.8 is the fifth GA release with .NET Core now supporting various connection-string options and MySQL 8.0 server features. To download MySQL Connector/NET 6.10.8 GA, see the "Generally Available (GA) Releases" tab at http://dev.mysql.com/downloads/connector/net/ Changes in Connector/NET 6.10.8 (2018-08-14, General Availability) Functionality Added or Changed * Optimistic locking for database-generated fields was improved with the inclusion of the [ConcurrencyCheck, DatabaseGenerated(DatabaseGeneratedOption.Computed)] attribute. Thanks to Tony Ohagan for the patch. (Bug #28095165, Bug #91064) * All recent additions to .NET Core 2.0 now are compatible with the Connector/NET 6.10 implementation. * With the inclusion of the Functions.Like extended method, scalar-function mapping, and table-splitting capabilities, Entity Framework Core 2.0 is fully supported. Bugs Fixed * EF Core: An invalid syntax error was generated when a new property (defined as numeric, has a default value, and is not a primary key) was added to an entity that already contained a primary-key column with the AUTO_INCREMENT attribute. This fix validates that the entity property (column) is a primary key first before adding the attribute. (Bug #28293927) * EF Core: The implementation of some methods required to scaffold an existing database were incomplete. (Bug #27898343, Bug #90368) * The Entity Framework Core implementation did not render accented characters correctly on bases with different UTF-8 encoding. Thanks to Kleber kleberksms for the patch. (Bug #27818822, Bug #90316) * The Microsoft.EntityFrameworkCore assembly (with EF Core 2.0) was not loaded and the absence generated an error when the application project was built with any version of .NET Framework. This fix ensures the following support: + EF Core 1.1 with .NET Framework 4.5.2 only + EF Core 2.0 with .NET Framework 4.6.1 or later (Bug #27815706, Bug #90306) * Attempts to create a new foreign key from within an application resulted in an exception when the key was generated by a server in the MySQL 8.0 release series. (Bug #27715069) * A variable of type POINT when used properly within an application targeting MySQL 8.0 generated an SQL syntax error. (Bug #27715007) * The case-sensitive lookup of field ordinals was initialized using case-insensitive comparison logic. This fix removes the original case-sensitive lookup. (Bug #27285641, Bug #88950) * The TreatTinyAsBoolean connection option was ignored when the MySqlCommand.Prepare() method was called. (Bug #27113566, Bug #88472) * The MySql.Data.Types.MySqlGeometry constructor called with an array of bytes representing an empty geometry collection generated an ArgumentOutOfRangeException exception, rather than creating the type as expected. Thanks to Peet Whittaker for the patch. (Bug #26421346, Bug #86974) * Slow connections made to MySQL were improved by reducing the frequency and scope of operating system details required by the server to establish and maintain a connection. (Bug #22580399, Bug #80030) * All columns of type TINYINT(1) stopped returning the expected Boolean value after the connector encountered a NULL value in any column of this type. Thanks to David Warner for the patch. (Bug #22101727, Bug #78917) Nuget packages are available at: https://www.nuget.org/packages/MySql.Data/6.10.8 https://www.nuget.org/packages/MySql.Web/6.10.8 https://www.nuget.org/packages/MySql.Data.Entity/6.10.8 https://www.nuget.org/packages/MySql.Data.EntityFrameworkCore/6.10.8 https://www.nuget.org/packages/MySql.Data.EntityFrameworkCore.Design/6.10.8 Enjoy and thanks for the support! On Behalf of the MySQL/Oracle Release Engineering Team, Hery Ramilison
↧
MySQL Connector/J 5.1.47 GA has been released (no replies)
Dear MySQL Users, MySQL Connector/J 5.1.47, a maintenance release of the production 5.1 branch has been released. Connector/J is the Type-IV pure-Java JDBC driver for MySQL. MySQL Connector/J is available in source and binary form from the Connector/J download pages at http://dev.mysql.com/downloads/connector/j/5.1.html and mirror sites as well as Maven-2 repositories. MySQL Connector/J (Commercial) is already available for download on the My Oracle Support (MOS) website. This release will shortly be available on eDelivery (OSDC). As always, we recommend that you check the "CHANGES" file in the download archive to be aware of changes in behavior that might affect your application. MySQL Connector/J 5.1.47 includes the following general bug fixes and improvements, also available in more detail on https://dev.mysql.com/doc/relnotes/connector-j/5.1/en/news-5-1-47.html Changes in MySQL Connector/J 5.1.47 (2018-08-17, General Availability) Version 5.1.47 is a maintenance release of the production 5.1 branch. It is suitable for use with MySQL Server versions 5.5, 5.6, 5.7, and 8.0. It supports the Java Database Connectivity (JDBC) 4.2 API. * Functionality Added or Changed * Bugs Fixed Functionality Added or Changed * The value UTF-8 for the connection property characterEncoding now maps to the utf8mb4 character set on the server and, for MySQL Server 5.5.2 and later, characterEncoding=UTF-8 can now be used to set the connection character set to utf8mb4 even if character_set_server has been set to something else on the server. (Before this change, the server must have character_set_server=utf8mb4 for Connector/J to use that character set.) Also, if the connection property connectionCollation is also set and is incompatible with the value of characterEncoding, characterEncoding will be overridden with the encoding corresponding to connectionCollation. See Using Character Sets and Unicode http://dev.mysql.com/doc/connector-j/5.1/en/connector-j-reference-charsets.html for details, including how to use the utf8mb3 character set now for connection. (Bug#23227334, Bug #81196) Bugs Fixed * Setting rewriteBatchedStatements=true and useLocalTransactionState=true caused transactions to be uncommitted for batched UPDATE and DELETE statements. It was due to the intermediate queries for enabling multiquery support on the server resetting the local transaction state as a side effect. With this fix, the local transaction state is preserved when the intermediate queries are executed. (Bug #27658489, Bug #89948) * Rewriting prepared INSERT statements in a multiquery batch failed with a BatchUpdateException when the statements did not contain place holders. This was due a faulty mechanism for query rewriting, which has been corrected by this fix. (Bug #25501750, Bug #84813) * When using batched prepared statements with multiple queries per statement, queries rewriting was incorrect, resulting in the wrong queries being sent to the server. (Bug #23098159, Bug #81063) * ResultSet.updateRow() failed when the character set used by a column in the ResultSet did not match that of the connection's encoding. With this fix, values for the affected columns are first converted to String before the update, so that the character set difference is properly handled. (Bug #22847443, Bug #80532) * Record updates failed for a scrollable and updatable PreparedStatement when the WHERE clause for the updater or refresher contained fractional timestamp values and the connection property sendFractionalSeconds was set to false. It was because in the situation, Connector/J did not perform the proper adjustments of the fractional parts in the WHERE clause values according to the length of the field's fractional part as defined in the database. This fix makes Connector/J perform the proper adjustment to the fractional part, so that the WHERE clause value can be properly compared to the value fetched from the database. Moreover, useJDBCCompliantTimezoneShift(), useGmtMillisForDatetimes(), and useSSPSCompatibleTimezoneShift() were applied to the WHERE clause values while they should not be, and this fix removes their applications. (Bug #22305979) * When a Java Date value was bound to a PreparedStatement parameter, attempts to format the value by a proleptic GregorianCalendar failed to make the dates proleptic, so that dates before the Julian-Gregorian cutover (October 15, 1582) were stored wrongly. With this fix, a proleptic calendar is properly used if supplied to the setDate() method. Note that when trying to set or retrieve dates before the Julian-Gregorian cutover with PreparedSatement methods, a proleptic GregorianCalendar should always be explicitly supplied to the setDate() and getDate() method.For details, see Known Issues and Limitations http://dev.mysql.com/doc/connector-j/5.1/en/connector-j-usagenotes-known-issues-limitations.html (Bug#18749544, Bug #72609) On Behalf of MySQL Release Engineering Team, Surabhi Bhat
↧
↧
MySQL Connector/Python 2.1.8 has been released (no replies)
Dear MySQL users, MySQL Connector/Python 2.1.8 GA is a sixth GA version of 2.1 release series of the pure Python database driver for MySQL. It can be used for production environments. MySQL Connector/Python version 2.1.8 GA is compatible with MySQL Server versions 5.5 and greater. Python 2.6 and greater as well as Python 3.4 and greater are supported. Python 2.4, 2.5, and 3.1, 3.2, 3.3 are not supported. MySQL Connector/Python 2.1.8 is available for download from: http://dev.mysql.com/downloads/connector/python/#downloads MySQL Connector/Python 2.1.8 (Commercial) will be available for download on the My Oracle Support (MOS) website. This release will be available on eDelivery (OSDC) in next month's upload cycle. The ChangeLog file included in the distribution contains a brief summary of changes in MySQL Connector/Python 2.1.8. For a more complete list of changes, see below or online at: http://dev.mysql.com/doc/relnotes/connector-python/en/ Enjoy! Changes in MySQL Connector/Python 2.1.8 (2018-08-31, General Availability) Known limitation: MySQLConnection.cmd_change_user() with the C extension enabled does not establish a connection with the changed user. Instantiate a new MySQLConnection() connection as a workaround. Functionality Added or Changed * MySQL Connector/Python now supports connections to MySQL accounts that use the caching_sha2_password authentication plugin (see Caching SHA-2 Pluggable Authentication (http://dev.mysql.com/doc/refman/8.0/en/caching-sha2-pluggable-authentication.html)). This requires MySQL server version 8.0.3 or higher. It also requires use of a secure connection because Connector/Python does not support RSA encryption for password exchange. Bugs Fixed * On Windows, the 32-bit MSI failed to install. The registry key path was updated to allow the CEXT prerequisite check to execute and pass. (Bug #28395599, Bug #28464866) * In pure Python mode, connecting to a MySQL server with default_authentication_plugin = caching_sha2_password would fail, even for accounts not using caching_sha2_password, because the authentication plugin was unknown to the Python connector. (Bug #27371245) * When using prepared statements, string columns were returned as bytearrays instead of strings. The returned value is now a string decoded using the connection's charset (defaults to 'utf8'), or as a bytearray if this conversion fails. (Bug #27364914) * Connecting to a MySQL server configured to use TLS versions other than TLSv1, such as as TLSv1.1 and TLSv1.2), was not possible and failed with a "[SSL: WRONG_VERSION_NUMBER] wrong version number" error. This is because the connector restricted the connection to use TLSv1. In addition, tsl_version support was added. (Bug #26484601, Bug #87121) * The result from JSON_TYPE() was returned as a bytearray instead of a string. The returned value is now a string decoded using the connection's charset (defaults to 'utf8'), or as a bytearray if this conversion fails. (Bug #24948205, Bug #83516) * JSON integer values were cast to bytes in Python instead of integers. (Bug #24948186, Bug #83513) Enjoy and thanks for the support! On behalf of the MySQL Release Team, Nawaz Nazeer Ahamed
↧
MySQL Enterprise Monitor 3.4.10 has been released (no replies)
We are pleased to announce that MySQL Enterprise Monitor 3.4.10 is now available for download on the My Oracle Support (MOS) web site.
This is a maintenance release that includes a few enhancements and fixes a number of bugs. You can find more information on the contents of this release in the change log:
http://dev.mysql.com/doc/relnotes/mysql-monitor/3.4/en/news-3-4-10.html
(also included at the end of this note for convenience)
You will find binaries for the new release on My Oracle Support:
http://support.oracle.com
Choose the "Patches & Updates" tab, and then choose the "Product or Family (Advanced Search)" side tab in the "Patch Search" portlet.
IMPORTANT: MySQL Enterprise Monitor (MEM) 8.0 offers many significant improvements over MEM 3.4 and 4.0, and we highly recommend that you consider upgrading. More information on MEM 8.0 is available here:
What's New in MySQL Enterprise Monitor 8.0
http://dev.mysql.com/doc/mysql-monitor/8.0/en/mem-comparison.html
MySQL Enterprise Monitor
http://www.mysql.com/products/enterprise/monitor.html
MySQL Enterprise Monitor Frequently Asked Questions
http://dev.mysql.com/doc/mysql-monitor/8.0/en/mem-faq.html
MySQL Enterprise Monitor Change History
http://dev.mysql.com/doc/relnotes/mysql-monitor/8.0/en/
Please open a bug or a ticket on My Oracle Support to report problems, request features, or give us general feedback about how this release meets your needs.
If you are not a MySQL Enterprise customer and want to try the Monitor and Query Analyzer using our 30-day free customer trial, go to http://www.mysql.com/trials, or contact Sales at http://www.mysql.com/about/contact.
Useful URLs
* My Oracle Support - http://support.oracle.com/
* What's New in 3.4 - http://dev.mysql.com/doc/mysql-monitor/3.4/en/mem-comparison-3-4.html
* Change log - http://dev.mysql.com/doc/relnotes/mysql-monitor/3.4/en/
* Installation documentation - http://dev.mysql.com/doc/mysql-monitor/3.4/en/mem-installing.html
* Complete documentation - http://dev.mysql.com/doc/mysql-monitor/3.4/en/
* Product information - http://www.mysql.com/products/enterprise/monitor.html
* Download - http://support.oracle.com/ (available now) or http://edelivery.oracle.com/
Thanks and Happy Monitoring!
- The MySQL Enterprise Tools Development Team
==========
Changes in MySQL Enterprise Monitor 3.4.10
Functionality Added or Changed
* The Tomcat server, bundled with the MySQL Enterprise Service Manager, has been upgraded to 8.5.34.
Bugs Fixed
* Under certain circumstances, Out Of Memory errors caused the MySQL Enterprise Monitor Agent to restart. In the previous release, the default agent heap size, defined by the MEM_AGENT_JAVA_OPTS parameter in the setenv.sh/bat file, has been increased to 128MB.
Important
In the previous release, this issue was corrected for new installations. As of this release, this issue is also corrected for upgrades.
If you changed MEM_AGENT_JAVA_OPTS to a value greater than 128MB, the value is not changed by the upgrade. If you changed MEM_AGENT_JAVA_OPTS to a value lower than 128MB, the upgrade process updates the value to 128MB.
This is a maintenance release that includes a few enhancements and fixes a number of bugs. You can find more information on the contents of this release in the change log:
http://dev.mysql.com/doc/relnotes/mysql-monitor/3.4/en/news-3-4-10.html
(also included at the end of this note for convenience)
You will find binaries for the new release on My Oracle Support:
http://support.oracle.com
Choose the "Patches & Updates" tab, and then choose the "Product or Family (Advanced Search)" side tab in the "Patch Search" portlet.
IMPORTANT: MySQL Enterprise Monitor (MEM) 8.0 offers many significant improvements over MEM 3.4 and 4.0, and we highly recommend that you consider upgrading. More information on MEM 8.0 is available here:
What's New in MySQL Enterprise Monitor 8.0
http://dev.mysql.com/doc/mysql-monitor/8.0/en/mem-comparison.html
MySQL Enterprise Monitor
http://www.mysql.com/products/enterprise/monitor.html
MySQL Enterprise Monitor Frequently Asked Questions
http://dev.mysql.com/doc/mysql-monitor/8.0/en/mem-faq.html
MySQL Enterprise Monitor Change History
http://dev.mysql.com/doc/relnotes/mysql-monitor/8.0/en/
Please open a bug or a ticket on My Oracle Support to report problems, request features, or give us general feedback about how this release meets your needs.
If you are not a MySQL Enterprise customer and want to try the Monitor and Query Analyzer using our 30-day free customer trial, go to http://www.mysql.com/trials, or contact Sales at http://www.mysql.com/about/contact.
Useful URLs
* My Oracle Support - http://support.oracle.com/
* What's New in 3.4 - http://dev.mysql.com/doc/mysql-monitor/3.4/en/mem-comparison-3-4.html
* Change log - http://dev.mysql.com/doc/relnotes/mysql-monitor/3.4/en/
* Installation documentation - http://dev.mysql.com/doc/mysql-monitor/3.4/en/mem-installing.html
* Complete documentation - http://dev.mysql.com/doc/mysql-monitor/3.4/en/
* Product information - http://www.mysql.com/products/enterprise/monitor.html
* Download - http://support.oracle.com/ (available now) or http://edelivery.oracle.com/
Thanks and Happy Monitoring!
- The MySQL Enterprise Tools Development Team
==========
Changes in MySQL Enterprise Monitor 3.4.10
Functionality Added or Changed
* The Tomcat server, bundled with the MySQL Enterprise Service Manager, has been upgraded to 8.5.34.
Bugs Fixed
* Under certain circumstances, Out Of Memory errors caused the MySQL Enterprise Monitor Agent to restart. In the previous release, the default agent heap size, defined by the MEM_AGENT_JAVA_OPTS parameter in the setenv.sh/bat file, has been increased to 128MB.
Important
In the previous release, this issue was corrected for new installations. As of this release, this issue is also corrected for upgrades.
If you changed MEM_AGENT_JAVA_OPTS to a value greater than 128MB, the value is not changed by the upgrade. If you changed MEM_AGENT_JAVA_OPTS to a value lower than 128MB, the upgrade process updates the value to 128MB.
↧
MySQL Enterprise Monitor 4.0.7 has been released (no replies)
We are pleased to announce that MySQL Enterprise Monitor 4.0.7 is now available for download on the My Oracle Support (MOS) web site.
This is a maintenance release that includes a few enhancements and fixes a number of bugs. You can find more information on the contents of this release in the change log:
http://dev.mysql.com/doc/relnotes/mysql-monitor/4.0/en/news-4-0-7.html
(also included at the end of this note for convenience)
You will find binaries for the new release on My Oracle Support:
http://support.oracle.com
Choose the "Patches & Updates" tab, and then choose the "Product or Family (Advanced Search)" side tab in the "Patch Search" portlet.
IMPORTANT: MySQL Enterprise Monitor (MEM) 8.0 offers many significant improvements over MEM 3.4 and 4.0, and we highly recommend that you consider upgrading. More information on MEM 8.0 is available here:
What's New in MySQL Enterprise Monitor 8.0
http://dev.mysql.com/doc/mysql-monitor/8.0/en/mem-comparison.html
MySQL Enterprise Monitor
http://www.mysql.com/products/enterprise/monitor.html
MySQL Enterprise Monitor Frequently Asked Questions
http://dev.mysql.com/doc/mysql-monitor/8.0/en/mem-faq.html
MySQL Enterprise Monitor Change History
http://dev.mysql.com/doc/relnotes/mysql-monitor/8.0/en/
Please open a bug or a ticket on My Oracle Support to report problems, request features, or give us general feedback about how this release meets your needs.
If you are not a MySQL Enterprise customer and want to try the Monitor and Query Analyzer using our 30-day free customer trial, go to http://www.mysql.com/trials, or contact Sales at http://www.mysql.com/about/contact.
Useful URLs
* My Oracle Support - http://support.oracle.com/
* What's New in 4.0 - https://dev.mysql.com/doc/mysql-monitor/4.0/en/mem-comparison.html
* Change log - http://dev.mysql.com/doc/relnotes/mysql-monitor/4.0/en/
* Installation documentation - http://dev.mysql.com/doc/mysql-monitor/4.0/en/mem-installing.html
* Complete documentation - http://dev.mysql.com/doc/mysql-monitor/4.0/en/
* Product information - http://www.mysql.com/products/enterprise/monitor.html
* Download - http://support.oracle.com/ or http://edelivery.oracle.com/
Thanks and Happy Monitoring!
- The MySQL Enterprise Tools Development Team
==========
Changes in MySQL Enterprise Monitor 4.0.7
Functionality Added or Changed
* The Tomcat server, bundled with the MySQL Enterprise Service Manager, has been upgraded to 8.5.34.
Bugs Fixed
* Automatic page refresh did not pause if an asset was selected.
* Under certain circumstances, Out Of Memory errors caused the MySQL Enterprise Monitor Agent to restart. In the previous release, the default agent heap size, defined by the MEM_AGENT_JAVA_OPTS parameter in the setenv.sh/bat file, has been increased to 128MB.
Important
In the previous release, this issue was corrected for new installations. As of this release, this issue is also corrected for upgrades.
If you changed MEM_AGENT_JAVA_OPTS to a value greater than 128MB, the value is not changed by the upgrade. If you changed MEM_AGENT_JAVA_OPTS to a value lower than 128MB, the upgrade process updates the value to 128MB.
This is a maintenance release that includes a few enhancements and fixes a number of bugs. You can find more information on the contents of this release in the change log:
http://dev.mysql.com/doc/relnotes/mysql-monitor/4.0/en/news-4-0-7.html
(also included at the end of this note for convenience)
You will find binaries for the new release on My Oracle Support:
http://support.oracle.com
Choose the "Patches & Updates" tab, and then choose the "Product or Family (Advanced Search)" side tab in the "Patch Search" portlet.
IMPORTANT: MySQL Enterprise Monitor (MEM) 8.0 offers many significant improvements over MEM 3.4 and 4.0, and we highly recommend that you consider upgrading. More information on MEM 8.0 is available here:
What's New in MySQL Enterprise Monitor 8.0
http://dev.mysql.com/doc/mysql-monitor/8.0/en/mem-comparison.html
MySQL Enterprise Monitor
http://www.mysql.com/products/enterprise/monitor.html
MySQL Enterprise Monitor Frequently Asked Questions
http://dev.mysql.com/doc/mysql-monitor/8.0/en/mem-faq.html
MySQL Enterprise Monitor Change History
http://dev.mysql.com/doc/relnotes/mysql-monitor/8.0/en/
Please open a bug or a ticket on My Oracle Support to report problems, request features, or give us general feedback about how this release meets your needs.
If you are not a MySQL Enterprise customer and want to try the Monitor and Query Analyzer using our 30-day free customer trial, go to http://www.mysql.com/trials, or contact Sales at http://www.mysql.com/about/contact.
Useful URLs
* My Oracle Support - http://support.oracle.com/
* What's New in 4.0 - https://dev.mysql.com/doc/mysql-monitor/4.0/en/mem-comparison.html
* Change log - http://dev.mysql.com/doc/relnotes/mysql-monitor/4.0/en/
* Installation documentation - http://dev.mysql.com/doc/mysql-monitor/4.0/en/mem-installing.html
* Complete documentation - http://dev.mysql.com/doc/mysql-monitor/4.0/en/
* Product information - http://www.mysql.com/products/enterprise/monitor.html
* Download - http://support.oracle.com/ or http://edelivery.oracle.com/
Thanks and Happy Monitoring!
- The MySQL Enterprise Tools Development Team
==========
Changes in MySQL Enterprise Monitor 4.0.7
Functionality Added or Changed
* The Tomcat server, bundled with the MySQL Enterprise Service Manager, has been upgraded to 8.5.34.
Bugs Fixed
* Automatic page refresh did not pause if an asset was selected.
* Under certain circumstances, Out Of Memory errors caused the MySQL Enterprise Monitor Agent to restart. In the previous release, the default agent heap size, defined by the MEM_AGENT_JAVA_OPTS parameter in the setenv.sh/bat file, has been increased to 128MB.
Important
In the previous release, this issue was corrected for new installations. As of this release, this issue is also corrected for upgrades.
If you changed MEM_AGENT_JAVA_OPTS to a value greater than 128MB, the value is not changed by the upgrade. If you changed MEM_AGENT_JAVA_OPTS to a value lower than 128MB, the upgrade process updates the value to 128MB.
↧
MySQL Enterprise Monitor 8.0.3 has been released (no replies)
We are pleased to announce that MySQL Enterprise Monitor 8.0.3 is now available for download on the My Oracle Support (MOS) web site. It will also be available for download via the Oracle Software Delivery Cloud in a few days. MySQL Enterprise Monitor is the best-in-class tool for monitoring and management of your MySQL assets and is included with your MySQL Enterprise Edition and MySQL Enterprise
Carrier Grade subscriptions.
This is a maintenance release that includes a few enhancements and fixes a number of bugs. You can find more information on the contents of this release in the change log:
http://dev.mysql.com/doc/relnotes/mysql-monitor/8.0/en/news-8-0-3.html
(also included at the end of this note for convenience)
Highlights
* MySQL Enterprise Monitor 8.0 supports monitoring MySQL Server 8.0.11 and later. You can also use MySQL Server 8.0 as an external data repository for MySQL Enterprise Monitor 8.0.
* Significant improvements have been made to the performance and user interface of the Query Analyzer. When you click on a SQL statement, the new Statement Details page enables you to browse all example statements in the specified time range, rather than just the one with the worst run time. Drill into any of these examples to see their individual statistics, literals used, and EXPLAIN plan. Graphs display the execution pattern of the selected query during the specified time period.
* The new Global Memory Usage report builds upon the Memory instrumentation exposed within Performance Schema to provide greater insight into where memory is being allocated within the MySQL Instance - not just at the InnoDB Buffer Pool level, but for all memory allocations, across all connections and threads within MySQL. The report breaks down memory by allocation type, such as memory allocated for sorting, the buffer pool, or various other internal buffers used for statement processing.
Download
You will find binaries for the new release on My Oracle Support:
http://support.oracle.com
Choose the "Patches & Updates" tab, and then choose the "Product or Family (Advanced Search)" side tab in the "Patch Search" portlet.
You will also find the binaries on the Oracle Software Delivery Cloud:
http://edelivery.oracle.com/
Search "All Categories" for "MySQL" and choose from the results accordingly. You will find the Enterprise Monitor along with other MySQL products.
If you are not a MySQL Enterprise customer and want to try the Monitor and Query Analyzer using our 30-day free customer trial, go to http://www.mysql.com/trials, or contact Sales at http://www.mysql.com/about/contact.
Please open a bug or a ticket on My Oracle Support to report problems, request features, or give us general feedback about how this release meets your needs.
Useful URLs
* My Oracle Support - http://support.oracle.com/
* What's New in 8.0 - https://dev.mysql.com/doc/mysql-monitor/8.0/en/mem-comparison.html
* Change log - http://dev.mysql.com/doc/relnotes/mysql-monitor/8.0/en/
* Installation documentation - http://dev.mysql.com/doc/mysql-monitor/8.0/en/mem-installing.html
* Complete documentation - http://dev.mysql.com/doc/mysql-monitor/8.0/en/
* Product information - http://www.mysql.com/products/enterprise/monitor.html
* Download - http://support.oracle.com/ or http://edelivery.oracle.com/
Thanks and Happy Monitoring!
- The MySQL Enterprise Tools Development Team
==========
Changes in MySQL Enterprise Monitor 8.0.3
Functionality Added or Changed
* The Tomcat server, bundled with the MySQL Enterprise Service Manager, has been upgraded to 8.5.34.
Bugs Fixed
* It was not possible to use the percentage character (%) in filter names. The filter was saved and was displayed in the list of available filters, but did not display the configured data when selected.
* Automatic page refresh did not pause if an asset was selected.
* Under certain circumstances, Out Of Memory errors caused the MySQL Enterprise Monitor Agent to restart. In the previous release, the default agent heap size, defined by the MEM_AGENT_JAVA_OPTS parameter in the setenv.sh/bat file, has been increased to 128MB.
Important
In the previous release, this issue was corrected for new installations. As of this release, this issue is also corrected for upgrades.
If you changed MEM_AGENT_JAVA_OPTS to a value greater than 128MB, the value is not changed by the upgrade. If you changed MEM_AGENT_JAVA_OPTS to a value lower than 128MB, the upgrade process updates the value to 128MB.
* Null Pointer Exceptions were logged relating to Query Analysis and Explain Plan when monitoring MySQL 8. These exceptions were caused by the removal of EXPLAIN EXTENDED in MySQL 8.
As of this release, MySQL Enterprise Monitor checks which MySQL version is being monitored and only attempts to use EXPLAIN EXTENDED on versions which support it.
Carrier Grade subscriptions.
This is a maintenance release that includes a few enhancements and fixes a number of bugs. You can find more information on the contents of this release in the change log:
http://dev.mysql.com/doc/relnotes/mysql-monitor/8.0/en/news-8-0-3.html
(also included at the end of this note for convenience)
Highlights
* MySQL Enterprise Monitor 8.0 supports monitoring MySQL Server 8.0.11 and later. You can also use MySQL Server 8.0 as an external data repository for MySQL Enterprise Monitor 8.0.
* Significant improvements have been made to the performance and user interface of the Query Analyzer. When you click on a SQL statement, the new Statement Details page enables you to browse all example statements in the specified time range, rather than just the one with the worst run time. Drill into any of these examples to see their individual statistics, literals used, and EXPLAIN plan. Graphs display the execution pattern of the selected query during the specified time period.
* The new Global Memory Usage report builds upon the Memory instrumentation exposed within Performance Schema to provide greater insight into where memory is being allocated within the MySQL Instance - not just at the InnoDB Buffer Pool level, but for all memory allocations, across all connections and threads within MySQL. The report breaks down memory by allocation type, such as memory allocated for sorting, the buffer pool, or various other internal buffers used for statement processing.
Download
You will find binaries for the new release on My Oracle Support:
http://support.oracle.com
Choose the "Patches & Updates" tab, and then choose the "Product or Family (Advanced Search)" side tab in the "Patch Search" portlet.
You will also find the binaries on the Oracle Software Delivery Cloud:
http://edelivery.oracle.com/
Search "All Categories" for "MySQL" and choose from the results accordingly. You will find the Enterprise Monitor along with other MySQL products.
If you are not a MySQL Enterprise customer and want to try the Monitor and Query Analyzer using our 30-day free customer trial, go to http://www.mysql.com/trials, or contact Sales at http://www.mysql.com/about/contact.
Please open a bug or a ticket on My Oracle Support to report problems, request features, or give us general feedback about how this release meets your needs.
Useful URLs
* My Oracle Support - http://support.oracle.com/
* What's New in 8.0 - https://dev.mysql.com/doc/mysql-monitor/8.0/en/mem-comparison.html
* Change log - http://dev.mysql.com/doc/relnotes/mysql-monitor/8.0/en/
* Installation documentation - http://dev.mysql.com/doc/mysql-monitor/8.0/en/mem-installing.html
* Complete documentation - http://dev.mysql.com/doc/mysql-monitor/8.0/en/
* Product information - http://www.mysql.com/products/enterprise/monitor.html
* Download - http://support.oracle.com/ or http://edelivery.oracle.com/
Thanks and Happy Monitoring!
- The MySQL Enterprise Tools Development Team
==========
Changes in MySQL Enterprise Monitor 8.0.3
Functionality Added or Changed
* The Tomcat server, bundled with the MySQL Enterprise Service Manager, has been upgraded to 8.5.34.
Bugs Fixed
* It was not possible to use the percentage character (%) in filter names. The filter was saved and was displayed in the list of available filters, but did not display the configured data when selected.
* Automatic page refresh did not pause if an asset was selected.
* Under certain circumstances, Out Of Memory errors caused the MySQL Enterprise Monitor Agent to restart. In the previous release, the default agent heap size, defined by the MEM_AGENT_JAVA_OPTS parameter in the setenv.sh/bat file, has been increased to 128MB.
Important
In the previous release, this issue was corrected for new installations. As of this release, this issue is also corrected for upgrades.
If you changed MEM_AGENT_JAVA_OPTS to a value greater than 128MB, the value is not changed by the upgrade. If you changed MEM_AGENT_JAVA_OPTS to a value lower than 128MB, the upgrade process updates the value to 128MB.
* Null Pointer Exceptions were logged relating to Query Analysis and Explain Plan when monitoring MySQL 8. These exceptions were caused by the removal of EXPLAIN EXTENDED in MySQL 8.
As of this release, MySQL Enterprise Monitor checks which MySQL version is being monitored and only attempts to use EXPLAIN EXTENDED on versions which support it.
↧
↧
MySQL Connector/C++ 8.0.13 has been released (no replies)
Dear MySQL users, MySQL Connector/C++ 8.0.13 is a new release version of the MySQL Connector/C++ 8.0 series. Connector/C++ 8.0 can be used to access MySQL implementing Document Store or in a traditional way, using SQL queries. It allows writing both C++ and plain C applications using X DevAPI and X DevAPI for C. It also supports the legacy API of Connector/C++ 1.1 based on JDBC4. To learn more about how to write applications using X DevAPI, see "X DevAPI User Guide" https://dev.mysql.com/doc/x-devapi-userguide/en/ See also "X DevAPI Reference" at https://dev.mysql.com/doc/dev/connector-cpp/devapi_ref.html and "X DevAPI for C Reference" at https://dev.mysql.com/doc/dev/connector-cpp/xapi_ref.html For generic information on using Connector/C++ 8.0, see https://dev.mysql.com/doc/dev/connector-cpp/ For general documentation about how to get started using MySQL as a document store, see http://dev.mysql.com/doc/refman/8.0/en/document-store.html To download MySQL Connector/C++ 8.0.13, see the "Generally Available (GA) Releases" tab at https://dev.mysql.com/downloads/connector/cpp/ Changes in MySQL Connector/C++ 8.0.13 (2018-10-22, General Availability) * Character Set Support * Packaging Notes * X DevAPI Notes * Functionality Added or Changed * Bugs Fixed Character Set Support * For connections to the server made using the legacy JDBC API (that is, not made using X DevAPI or X DevAPI for C), the default connection character set is now utf8mb4 rather than utf8. Connections to the server made using X DevAPI or X DevAPI for C continue to use the connection character set determined by the server. (Bug #28204677) Packaging Notes * Connector/C++ 32-bit MSI packages are now available for Windows. These 32-bit builds enable use of the legacy JDBC connector. * Connector/C++ compressed tar file packages are now available for Solaris. It is also possible to build Connector/C++ from source on Solaris. For platform-specific build notes, see Building Connector/C++ Applications: Platform-Specific Considerations (http://dev.mysql.com/doc/connector-cpp/8.0/en/connector-cpp-apps-platform-considerations.html). X DevAPI Notes * Connector/C++ now provides connection pooling for applications using X Protocol. This capability is based on client objects, a new type of X DevAPI object. A client can be used to create sessions, which take connections from a pool managed by that client. For a complete description, see Connecting to a Single MySQL Server Using Connection Pooling (http://dev.mysql.com/doc/x-devapi-userguide/en/connecting-connection-pool.html). X DevAPI example: using namespace mysqlx; Client cli("user:password@host_name/db_name", ClientOption::POOL_MAX_SIZE, 7); Session sess = cli.getSession(); // use sess as before cli.close(); // close session sess X DevAPI for C example: char error_buf[255]; int error_code; mysqlx_client_t *cli = mysqlx_get_client_from_url( "user:password@host_name/db_name", "{ \"maxSize\": 7 }", error_buf, &error_code); mysqlx_session_t *sess = mysqlx_get_session_from_client(cli); // use sess as before mysqlx_close_client(cli); // close session sess * For X DevAPI, a new connect-timeout option can be specified in connection strings or URIs to indicate a connection timeout in milliseconds. The SessionSettings::Options object supports a new CONNECT_TIMEOUT option. For X DevAPI for C, the mysqlx_opt_type_t constant is MYSQLX_OPT_CONNECT_TIMEOUT together with the OPT_CONNECT_TIMEOUT() macro. If no timeout option is specified, the default is 10000 (10 seconds). A value of 0 disables the timeout. The following examples set the connection timeout to 10 milliseconds: X DevAPI examples: Session sess("user@host/db?connect-timoeut=10"); Session sess(..., SessionOption::CONNECT_TIMEOUT, 10, ...); Session sess( ..., SessionOption::CONNECT_TIMEOUT, std::chrono::milliseconds(10), ... ); X DevAPI for C example: mysqlx_session_options_t *opt = mysqlx_session_options_new(); mysqlx_session_option_set(opt, ..., OPT_CONNECT_TIMEOUT(10), ...); Functionality Added or Changed * JSON: Connector/C++ now uses RapidJSON for improved performance of operations that involve parsing JSON strings. There are no user-visible API changes for X DevAPI or X DevAPI for C. Bugs Fixed * On SLES 15, Connector/C++ installation failed if libmysqlcppcon7 was already installed. (Bug #28658120) * Applications that were statically linked to the legacy JDBC connector could encounter a read access violation at exit time due to nondeterministic global destruction order. (Bug #28525266, Bug #91820) * Configuring with -DCMAKE_BUILD_TYPE=Release did not work on Linux. (Bug #28045274) * Field references in .having() expressions could be interpreted incorrectly and produce errors. (Bug #26310713) Enjoy and thanks for the support! On Behalf of Oracle/MySQL Release Engineering Team, Balasubramanian Kandasamy
↧
MySQL Workbench 8.0.13 has been released (no replies)
Dear MySQL users, The MySQL developer tools team announces 8.0.13 as our general available (GA) for MySQL Workbench 8.0. For the full list of changes in this revision, visit http://dev.mysql.com/doc/relnotes/workbench/en/changes-8-0.html For discussion, join the MySQL Workbench Forums: http://forums.mysql.com/index.php?152 The release is now available in source and binary form for a number of platforms from our download pages at: http://dev.mysql.com/downloads/tools/workbench/ Enjoy! Changes in MySQL Workbench 8.0.13 (2018-10-22, General Availability) * Server Support * Functionality Added or Changed * Bugs Fixed Server Support * Support for MySQL 5.5 by MySQL Workbench 8.0 was removed. If you still need to use MySQL Workbench on a MySQL 5.5 server, you can use MySQL Workbench 6.3, which is available from MySQL Product Archives (see https://downloads.mysql.com/archives/workbench/). Functionality Added or Changed * MySQL Workbench on macOS 10.14 Mojave was tested with positive results. The new Dark Mode feature is not yet compatible with all screens and should not be enabled for this release. Bugs Fixed * With valid geometry points inserted, the option to open the points in a browser failed on macOS hosts because the URL was improperly formed. (Bug #28587193, Bug #92266) * An apostrophe character (') within a table comment generated a parsing error when an attempt was made to alter the table. (Bug #28552873, Bug #92191) * Insufficient privilege was granted during the attempt to create a new MySQL Enterprise Backup user account. Although valid prerequisite backup information was provided, the validation script returned the following error message: Access denied for backup account. (Bug #28536272, Bug #92115) * When remote management with SSH was enabled, attempting to insert the required passwords in the Options file produced an error message. After the error was closed, the Administration tab became unresponsive and MySQL Workbench did not shut down properly. (Bug #28519087, Bug #92061) * An error with the following message was generated when the export operation was executed on tables from an earlier server version: Unknown table 'COLUMN_STATISTICS' in information_schema (1109). Because the version of mysqldump used with the operation can differ from that of the target server, some features may not be exported as expected when the versions are mismatched. A warning message now provides a description of the condition, along with instructions to resolve the version mismatch, or the option to continue anyway. (Bug #28471433, Bug #91640) * On Windows hosts, the history of scheduled MySQL Enterprise Backup jobs was not persisted in the dashboard between MySQL Workbench sessions. This fix eliminates the issue; however, the existing mysqlwbmeb.vbs file must be removed before scheduling new backup jobs. (Bug #28430457) * The default target version of MySQL to use with MySQL Workbench models was set to MySQL 5.6.30 and did not increment automatically. With this fix, the value now defaults to the latest version. The default target version can also be set manually (see Preferences: Modeling: MySQL (http://dev.mysql.com/doc/workbench/en/wb-preferences-mod eling.html#wb-preferences-modeling-mysql)). (Bug #28397515, Bug #91782) * Executing queries over an period of time caused the existing result grid in each query tab to be hidden when the grid was previously visible and prevented the results grid in new tabs from showing. (Bug #28361489, Bug #91265) * After copying a query into a second query editor, auto-completion did not display the related column names. Instead, when auto-completion was engaged, MySQL Workbench stopped working. (Bug #28312867, Bug #91559) * The operation to compare schemas did not appear in the menu after a valid model was opened on Linux hosts. (Bug #28249454) * The filter arrows that select objects for forward or reverse engineering within wizards generated an error instead of moving the objects as expected. (Bug #26435349, Bug #26922638, Bug #87980, Bug #25921645, Bug #86013, Bug #25852505, Bug #85837, Bug #25741519, Bug #85522) * Schema privileges in the Administration - Users and Privileges tab (Object Rights, DDL Rights, and Other Rights) were not visible with all screen resolutions. (Bug #25584920, Bug #85079) * The color used to highlight a selected item in the schema tree view did not provide enough contrast from the background color to distinguish it from the other items easily. The new highlight color makes it easy to see which item is selected. (Bug #25456216) On Behalf of Oracle/MySQL Release Engineering Team, Daniel Horecki
↧
MySQL Community Server 8.0.13 has been released (part 1/2) (no replies)
[Due to size limitation, this announcement is split in two. This is part 1]
Dear MySQL users,
MySQL Server 8.0.13, a new version of the popular Open Source
Database Management System, has been released. MySQL 8.0.13 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.13 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.13 is available in source and binary form for a number of
platforms from the "Development Releases" selection of our download
pages at
http://dev.mysql.com/downloads/mysql/
MySQL Server 8.0.13 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.13 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.12. It may also be viewed
online at
http://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-13.html
Enjoy!
Dear MySQL users,
MySQL Server 8.0.13, a new version of the popular Open Source
Database Management System, has been released. MySQL 8.0.13 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.13 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.13 is available in source and binary form for a number of
platforms from the "Development Releases" selection of our download
pages at
http://dev.mysql.com/downloads/mysql/
MySQL Server 8.0.13 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.13 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.12. It may also be viewed
online at
http://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-13.html
Enjoy!
Changes in MySQL 8.0.13 (2018-10-22) * Account Management Notes * Compilation Notes * Configuration Notes * Data Type Notes * Deprecation and Removal Notes * Error Handling * INFORMATION_SCHEMA Notes * Logging Notes * Optimizer Notes * Packaging Notes * Performance Schema Notes * Security Notes * Spatial Data Support * SQL Syntax Notes * XA Transaction Notes * X Plugin Notes * Functionality Added or Changed * Bugs Fixed Account Management Notes * It is now possible to require that attempts to change an account password be verified by specifying the current password to be replaced. This enables DBAs to prevent users from changing a password without proving that they know the current password. It is possible to establish password-verification policy globally using the password_require_current system variable, as well as on a per-account basis using the PASSWORD REQUIRE option of the CREATE USER and ALTER USER statements. Together with existing password-management capabilities, the new capability of requiring verification provides DBAs more complete control over password management. For more information, see Password Management (http://dev.mysql.com/doc/refman/8.0/en/password-management.html). Important MySQL implements the password-verification capability using a new column in the mysql.user system table. If you upgrade to this MySQL release from an earlier version, you must run mysql_upgrade (and restart the server) to incorporate this system database change. Until this is done, password changes are not possible. Compilation Notes * Solaris: MySQL now can be compiled on Solaris using gcc. (Bug #27802681) Configuration Notes * The new WITH_LTO CMake option controls whether to enable link-time optimization. Currently, this is supported only by GCC 7 and 8. (Bug #28184537, Bug #28211382) * The new WITH_RAPIDJSON CMake option controls whether to compile with the bundled or system RapidJSON library. (Bug #28024992, Bug #90867) * The CMAKE_BUILD_TYPE CMake option now supports a Release build type, which is like the RelWithDebInfo build type but omits debugging information to reduce the build size. (Bug #27874068) * The new sql_require_primary_key system variable makes it possible to have statements that create new tables or alter the structure of existing tables enforce the requirement that tables have a primary key. Enabling this variable helps avoid performance problems in row-based replication that can occur when tables have no primary key. Suppose that a table has no primary key and an update or delete modifies multiple rows. On the master server, this operation can be performed using a single table scan but, when replicated using row-based replication, results in a table scan for each row to be modified on the slave. With a primary key, these table scans do not occur. (Bug #17468242, Bug #69845, Bug #17005592, Bug #69223) * To enable the server to listen on a set of addresses, the --bind-address option now permits a list of comma-separated IP addresses or host names, not just a single address or name. For details, see Server Command Options (http://dev.mysql.com/doc/refman/8.0/en/server-options.html). Data Type Notes * MySQL now supports use of expressions as default values in data type specifications. This includes the use of expressions as default values for the BLOB, TEXT, GEOMETRY, and JSON data types, which previously could not be assigned default values at all. For details, see Data Type Default Values (http://dev.mysql.com/doc/refman/8.0/en/data-type-defaults.html). Deprecation and Removal Notes * InnoDB; Partitioning: Support for placing table partitions in shared tablespaces was removed. Shared tablespaces include the system tablespace and general tablespaces. For information about identifying partitions in shared tablespaces and moving them to file-per-table tablespaces, see Preparing Your Installation for Upgrade (http://dev.mysql.com/doc/refman/8.0/en/upgrade-prerequisites.html). * InnoDB: Support for TABLESPACE = innodb_file_per_table and TABLESPACE = innodb_temporary clauses with CREATE TEMPORARY TABLE is deprecated and will be removed in a future MySQL version. * The utf8mb3 character set is deprecated and will be removed in a future MySQL release. Please use utf8mb4 instead. * Nested comments have never been supported (although they might be permitted under some conditions), but now are considered deprecated and will be removed in a future MySQL release. * The deprecated metadata_locks_cache_size and metadata_locks_hash_instances system variables were removed. * The PAD_CHAR_TO_FULL_LENGTH SQL mode has been deprecated and will be removed in a future MySQL version. Error Handling * The MySQL client library now returns better error messages for OpenSSL errors. Thanks to Facebook for the patch. (Bug #27855668, Bug #90418) * Previously, the ER_NO_REFERENCED_ROW_2 and ER_ROW_IS_REFERENCED_2 error messages for foreign key operations were displayed and revealed information about parent tables, even when the user had no parent table access privileges. Error handling for this situation has been revised: + If the user does have table-level privileges for all parent tables, ER_NO_REFERENCED_ROW_2 and ER_ROW_IS_REFERENCED_2 are displayed, the same as before. + If the user does not have table-level privileges for all parent tables, more generic error messages are displayed instead (ER_NO_REFERENCED_ROW and ER_ROW_IS_REFERENCED). An exception is that, for stored programs defined to execute with DEFINER privileges, the user against which privileges are assessed is the user in the program DEFINER clause, not the invoking user. If that user has table-level parent table privileges, parent table information is still displayed. In this case, it is the responsibility of the stored program creator to hide the information by including appropriate condition handlers. (Bug #19477611) INFORMATION_SCHEMA Notes * These new INFORMATION_SCHEMA tables are available as views on data dictionary tables: + VIEW_ROUTINE_USAGE provides information about stored functions used in view definitions. + VIEW_TABLE_USAGE provides information about tables and views used in view definitions. For more information, see The INFORMATION_SCHEMA VIEW_ROUTINE_USAGE Table (http://dev.mysql.com/doc/refman/8.0/en/view-routine-usage-table.html), and The INFORMATION_SCHEMA VIEW_TABLE_USAGE Table (http://dev.mysql.com/doc/refman/8.0/en/view-table-usage-table.html). Logging Notes * Incompatible Change: The system variables have been removed that previously configured error logging to the system log (the Event Log on Windows, and syslog on Unix and Unix-like systems). Where appropriate, the removed system variables were replaced with new system variables managed by the log_sink_syseventlog error log component. The following table shows the old and new variable names. Old System Variable New System Variable log_syslog_facility syseventlog.facility log_syslog_include_pid syseventlog.include_pid log_syslog_tag syseventlog.tag log_syslog None Important Installations that used the old system variable names must update their configuration to use the new variable names. For more information, see Error Logging to the System Log (http://dev.mysql.com/doc/refman/8.0/en/error-log-syslog.html). References: See also: Bug #27534089. * A new system variable, log_error_suppression_list, enables specifying which diagnostics should not be written to the error log when they occur with a severity of WARNING or INFORMATION. For example, if a particular type of warning occurs frequently but is not of interest (and thus may be considered undesirable "noise" in the error log), it now can be suppressed. * The code to handle rewriting of account-management statements was refactored to make it easier to maintain and extend. This work resulted in a few minor user-visible effects in the audit, general, and slow query logs: + Plaintext passwords are replaced by <string> rather than '<string>'. + Default clauses are not written unless specified by the user. * Previously, messages written to the error log by several internal server methods were logged using the ER_LOG_PRINTF_MSG error code. Each of these messages now is logged using a unique error code. Optimizer Notes * The optimizer now supports a Skip Scan access method that enables range access to be used in previously inapplicable situations to improve query performance. For more information, see Skip Scan Range Access Method (http://dev.mysql.com/doc/refman/8.0/en/range-optimization.html#range-access-skip-scan). Thanks to Facebook for the patch on which this access method is based. (Bug #26976512, Bug #88103) * MySQL now supports creation of functional index key parts that index expression values rather than column values. Functional key parts enable indexing of values that cannot be indexed otherwise, such as JSON values. For details, see CREATE INDEX Syntax (http://dev.mysql.com/doc/refman/8.0/en/create-index.html). * Performance of SELECT COUNT(*) FROM tbl_name queries for InnoDB tables was improved for single-threaded workloads and when no extra clauses such as WHERE or GROUP BY are used. Packaging Notes * Binary packages that include curl rather than linking to the system curl library now use curl 7.60.0 rather than 7.45.0. (Bug #28043702) * Debian packaging was updated to reflect the removal of yaSSL and that OpenSSL is the default SSL library for all builds. (Bug #28025599) * Test plugins have been moved from server packages to test packages. (Bug #27860172) * MySQL Router is now included in the MySQL server source and monolithic binary packages. Performance Schema Notes * A new Performance Schema stage, waiting for handler commit, is available to detect threads going through transaction commit. Thanks to Facebook for the patch. (Bug #27855592, Bug #90417) Security Notes * Microsoft Windows: On Windows, MySQL Enterprise Edition distributions now bundle the Cyrus SASL library files libsasl.dll and saslSCRAM.dll so that the LDAP authentication plugins can use the SCRAM-SHA-1 authentication method. * MySQL Enterprise Edition now provides data masking and de-identification capabilities, implemented as a plugin library containing a plugin and a set of user-defined functions. Data masking hides sensitive information by replacing real values with substitutes. MySQL Enterprise Data Masking and De-Identification functions enable masking existing data using several methods such as obfuscation (removing identifying characteristics), generation of formatted random data, and data replacement or substitution. For example: mysql> SET @ssn = gen_rnd_ssn(); mysql> SET @masked_ssn1 = mask_ssn(@ssn); mysql> SET @masked_ssn2 = mask_outer(mask_inner (@ssn,4,5,'A'), 3,0,'B '); mysql> SELECT @ssn, @masked_ssn1, @masked_ssn2; +-------------+--------------+--------------+ | @ssn | @masked_ssn1 | @masked_ssn2 | +-------------+--------------+--------------+ | 980-31-2838 | XXX-XX-2838 | BBB-AA-2838 | +-------------+--------------+--------------+ For more information, see MySQL Enterprise Data Masking and De-Identification (http://dev.mysql.com/doc/refman/8.0/en/data-masking.html). Spatial Data Support * Incompatible Change: Previously, ST_Area() supported only geometry arguments having a Cartesian spatial reference system (SRS) and produced an error when invoked with geometry arguments that specified a geographic SRS. ST_Area() now supports geometry arguments having a geographic SRS and returns the geodetic area in square meters. Note If spatial data contains geometry values that now are interpreted differently by ST_Area(), existing queries using this function will return different results, compared to previous MySQL versions. * The parser for spatial reference system (SRS) definitions in CREATE SPATIAL REFERENCE SYSTEM statements now is stricter about rejecting invalid constructs, and requires an axis clause in geographic SRS definitions. (Bug #28186073, Bug #28147723) * Previously, ST_Validate() supported only geometry arguments having a Cartesian spatial reference system (SRS) and produced an error when invoked with geometry arguments that specified a geographic SRS. ST_Validate() now supports geometry arguments having a geographic SRS. Note If spatial data contains geometry values that now are interpreted differently by ST_Validate(), existing queries using this function will return different results, compared to previous MySQL versions. * MySQL now implements the ST_Transform() spatial function for use in converting geometry values from one spatial reference system (SRS) to another. Currently, it supports conversion between geographic SRSs. For details, see Spatial Operator Functions (http://dev.mysql.com/doc/refman/8.0/en/spatial-operator-functions.html). SQL Syntax Notes * Incompatible Change: The deprecated ASC or DESC qualifiers for GROUP BY clauses have been removed. Queries that previously relied on GROUP BY sorting may produce results that differ from previous MySQL versions. To produce a given sort order, provide an ORDER BY clause. Queries and stored program definitions from MySQL 8.0.12 or lower that use ASC or DESC qualifiers for GROUP BY clauses should be amended. Otherwise, upgrading to MySQL 8.0.13 or higher may fail, as may replicating to MySQL 8.0.13 or higher slave servers. XA Transaction Notes * Previously, metadata locks for XA transactions in PREPARED state could be dropped when the client performing the transaction disconnected or the server restarted. This could lead to behavior such as one session being able to drop tables used by an XA transaction in progress for another session. Metadata locks for XA transactions in PREPARED state now are maintained across client disconnects and server restarts, until an XA COMMIT or XA ROLLBACK is executed. (Bug #22710164, Bug #79940) X Plugin Notes * Important Change: X Protocol now provides a connection pooling option, which can reduce overhead for applications that open many connections to MySQL server such as small web pages or a REST API endpoint. Use the new mysqlx.getClient(connection, options) operation, which returns a Client object. By using a Client object, executing an open session operation retrieves an existing and currently unused network connection from the pool, resets it, and uses it. Closing a session marks the underlying connection as unused and returns it to the Client object's connection pool. The connection pool is configured using a options data dictionary, which means that a deployed application can switch from using connection pooling or not by simply changing the connection string. * A mutex lock has been added to prevent conflict between multiple X Plugin client sessions when a large number of sessions are being opened and closed. (Bug #28637947) * When an X Plugin client attempted to connect to a MySQL server specifying a database that did not exist on the server, the error message indicated that access was denied rather than that the database was not known. The correct error message is now returned. (Bug #28110957) * Incorrect copying of an integer value by X Plugin caused an error relating to misaligned memory access. The issue is now fixed. (Bug #28070946, Bug #90983) * Now that X Plugin is loaded and enabled by default, the default verbosity setting for the error log meant that no message was visible to indicate that X Plugin was available on the MySQL server. A message is now issued during system startup to confirm that X Plugin has been loaded. (Bug #27287340) * X Protocol now provides the ability to broadcast information to interested clients without the requirement to request the information. In addition, changes related to Group Replication are also broadcast. As part of this work the Mysqlx_notified_by_group_replication and Mysqlx_notice_global_sent status variables have been added. Functionality Added or Changed * Important Change; NDB Cluster; NDB Client Programs: Removed the deprecated --ndb option for perror. Use ndb_perror to obtain error message information from NDB error codes instead. (Bug #81705, Bug #23523957) References: See also: Bug #81704, Bug #23523926. * Important Change: Setting user variables in statements other than SET is now deprecated due to issues that included those listed here: + The order of evaluation for expressions involving user variables was undefined. + The default result type of a variable is based on its type at the beginning of the statement, which could have unintended effects when a variable holding a value of one type at the beginning of a statement was assigned a new value of a different type in the same statement. + HAVING, GROUP BY, and ORDER BY clauses, when referring to a variable that was assigned a value in the select expression list, did not work as expected because the expression was evaluated on the client and so it was possible for stale column values from a previous row to be used. Syntax such as SELECT @var, @var:=@var+1 is still accepted in MySQL 8.0 for backward compatibility, but is subject to removal in a future release. * InnoDB: The innodb_fsync_threshold system variable permits a threshold size to be defined for the write buffer. By default, when InnoDB creates a new data file, such as a new log file or tablespace file, it flushes the contents of the write buffer to disk only after a file is fully written, which can cause a surge in disk write activity. The innodb_fsync_threshold system variable can be used to force smaller, periodic flushes to help avoid such surges in disk write activity. (Bug #27724600) * InnoDB: User-created temporary tables and internal temporary tables created by the optimizer are now stored in session temporary tablespaces that are allocated to a session from a pool of temporary tablespaces. When a session disconnects, its temporary tablespaces are truncated and released back to the pool. In previous releases, temporary tables were created in the global temporary tablespace (ibtmp1), which did not return disk space to the operating system after temporary tables were dropped. The innodb_temp_tablespaces_dir variable defines the location where session temporary tablespaces are created. The default location is the #innodb_temp directory in the data directory. The INNODB_SESSION_TEMP_TABLESPACES table provides metadata about session temporary tablespaces. The global temporary tablespace (ibtmp1) now stores rollback segments for changes made to user-created temporary tables. * InnoDB: The InnoDB tablespace encryption feature now supports general tablespaces. Previously, only file-per-table tablespaces could be encrypted. To support encryption of general tablespaces, CREATE TABLESPACE and ALTER TABLESPACE syntax was extended to include an ENCRYPTION clause. The INFORMATION_SCHEMA.INNODB_TABLESPACES table now includes an ENCRYPTION column that indicates whether or not a tablespace is encrypted. The stage/innodb/alter tablespace (encryption) Performance Schema stage instrument was added to permit monitoring of general tablespace encryption operations. * Replication: You can now make changes to the configuration of a group while it is running, without having to stop all members to make changes. This functionality relies on UDFs which are installed with this version of the plugin, and all members of a group must have these UDFs installed. To use the UDFs, connect to an online member and issue SELECT UDF; Use the group_replication_set_as_primary() UDF to trigger the election of a specific member as the new primary in a single-primary group, overriding the usual election process. See Changing a Group's Primary Member (http://dev.mysql.com/doc/refman/8.0/en/group-replication-changing-primary-member.html) for more information. In addition, you can configure the mode which a group is using while it is online, changing between single-primary mode and multi-primary mode. To change the mode of an online group, choose one of these options: + Use group_replication_switch_to_single_primary_mode() to change a group running in multi-primary mode to single-primary mode. + Use group_replication_switch_to_multi_primary_mode() to to change a group running in single-primary mode to multi-primary mode. See Changing a Group's Mode (http://dev.mysql.com/doc/refman/8.0/en/group-replication-changing-group-mode.html) for more information. * Replication: You can now inspect and configure the maximum number of consensus instances at any time for a group. This maximum is referred to as the event horizon for a group, and is the maximum number of consensus instances that the system can execute in parallel. This enables you to fine tune the performance of your Group Replication deployment. To inspect a group's event horizon value at runtime, issue: SELECT group_replication_get_write_concurrency() To set the maximum number of write consensus instances, issue: SELECT group_replication_set_write_concurrency(instances); where instances is the new number of maximum instances used for consensus. See Using Group Replication Group Write Consensus (http://dev.mysql.com/doc/refman/8.0/en/group-replication-group-write-consensus.html) for more information. * Solaris: On Solaris, MySQL can now be built with Developer Studio 12.6. (Bug #27055190, Bug #88316, Bug #28165246, Bug #91214) * Data truncation testing was rewritten to avoid undefined behavior. (Bug #28255956, Bug #91445) * Out-of-range checking for float values was improved. (Bug #28225635) * The upgrade check that the server runs during the startup process now verifies that partitioned InnoDB tables do not use shared tablespaces. (Bug #28204431) * Previously, file I/O performed in the I/O cache in the mysys library was not instrumented, affecting in particular file I/O statistics reported by the Performance Schema about the binary log index file. Now, this I/O is instrumented and Performance Schema statistics are accurate. Thanks to Yura Sorokin for the contribution. (Bug #27788907, Bug #90264) * Performance for locating user account entries in the in-memory privilege structures has been improved. Thanks to Eric Herman for the contribution. (Bug #27772506, Bug #90244) * If mysqld --initialize fails to complete but creates an unusable data directory, it now displays a message that the data directory is unusable and can safely be removed. (Bug #27675647) * Instrumentation is now provided in the Performance Schema for transaction retries by individual applier threads on a single-threaded or multithreaded slave. Previously, the Performance Schema table replication_applier_status_by_worker displayed information about errors that stopped the applier thread, but not about transient errors that occurred before a transaction was eventually applied. With this information, you can identify transient errors that are causing replication lag on replication slaves or Group Replication group members. Eight new columns have been added to the Performance Schema replication_applier_status_by_worker table: + LAST_APPLIED_TRANSACTION_RETRIES_COUNT - The number of times the last applied transaction was retried by the worker after the first attempt. If the transaction was applied at the first attempt, this number is zero. + LAST_APPLIED_TRANSACTION_LAST_TRANSIENT_ERROR_NUMBER - The error number of the last transient error that caused the transaction to be retried. + LAST_APPLIED_TRANSACTION_LAST_TRANSIENT_ERROR_MESSAG E - The message text for the last transient error that caused the transaction to be retried. + LAST_APPLIED_TRANSACTION_LAST_TRANSIENT_ERROR_TIMEST AMP - The timestamp in 'YYYY-MM-DD HH:MM:SS[.fraction]' format for the last transient error that caused the transaction to be retried. + APPLYING_TRANSACTION_RETRIES_COUNT - The number of times the transaction that is currently being applied was retried until this moment. If the transaction was applied at the first attempt, this number is zero. + APPLYING_TRANSACTION_LAST_TRANSIENT_ERROR_NUMBER - The error number of the last transient error that caused the current transaction to be retried. + APPLYING_TRANSACTION_LAST_TRANSIENT_ERROR_MESSAGE - The message text for the last transient error that caused the current transaction to be retried. + APPLYING_TRANSACTION_LAST_TRANSIENT_ERROR_TIMESTAMP - The timestamp in 'YYYY-MM-DD HH:MM:SS[.fraction]' format for the last transient error that caused the current transaction to be retried. The existing column APPLYING_TRANSACTION_START_APPLY_TIMESTAMP is no longer reset each time a transaction is retried. It now retains the timestamp from the worker's first attempt to apply the transaction. * Previously, CREATE TEMPORARY TABLE and DROP TEMPORARY TABLE statements were not supported inside transactions, procedures, functions, or triggers when using GTIDs (that is, when the enforce_gtid_consistency system variable is set to ON). It was possible to use these statements with GTIDs enabled, but only outside of any transaction, and only with autocommit=1. From MySQL 8.0.13, this restriction has been removed when binlog_format is set to ROW or MIXED. With row-based logging in use, CREATE TEMPORARY TABLE and DROP TEMPORARY TABLE statements can now be used inside transactions, procedures, functions, or triggers when GTIDs are enabled. When binlog_format is set to STATEMENT, the restriction remains. Because of this difference in behavior, some additional restrictions now apply to changing the binlog_format setting at runtime: + If a session has open temporary tables, the replication format cannot be changed for the session (SET @@session.binlog_format). + If any replication channel has open temporary tables, the replication format cannot be changed globally (SET @@global.binlog_format or SET @@persist.binlog_format). + If any replication channel applier thread is currently running, the replication format cannot be changed globally (SET @@global.binlog_format or SET @@persist.binlog_format). Trying to switch the replication format in any of these cases (or attempting to set the current replication format) results in an error. You can, however, use PERSIST_ONLY (SET @@persist_only.binlog_format) to change the replication format at any time, because this action does not modify the runtime global system variable value, and takes effect only after a server restart. When binlog_format is set to ROW or MIXED, CREATE TEMPORARY TABLE and DROP TEMPORARY TABLE statements are not written to the binary log and are therefore not replicated to slaves. When they are used in transactions, if the removal of these statements from the transaction results in an empty transaction, the transaction is not written to the binary log. If a transaction involving these statements is rolled back, a warning message is issued stating that the creation or dropping of the temporary tables could not be rolled back. * The MySQL Server code for binary logging has been refactored to create new internal interfaces for accessing events in a binary log and relay log. The new interfaces separate the write and read processes for binary logging into input and output streams, and decouple the process of capturing and retrieving binary log events from the process of writing them to files. A logical binary log file is used to wrapper the storage layer operations. The new internal interfaces make it possible for MySQL Server to use alternative storage methods for binary log events besides a standard binary log or relay log file, including a binary log cache or memory buffer. For example, Group Replication uses the new interfaces to serialize events directly to memory buffers and transaction messages in order to co-ordinate transactions in the group. mysqlbinlog also now uses them to read binary log events from standard input. The following existing error messages are now marked as obsolete due to the new internal interfaces: + ER_BINLOG_CANT_OPEN_LOG + ER_BINLOG_CANT_CREATE_CACHE_FOR_LOG + ER_BINLOG_ERROR_GETTING_NEXT_LOG_FROM_INDEX + ER_RPL_RECOVERY_ERROR_FREEING_IO_CACHE + ER_GRP_RPL_REINIT_OF_INTERNAL_CACHE_FOR_READ_FAILED + ER_GRP_RPL_APPENDING_DATA_TO_INTERNAL_CACHE_FAILED + ER_GRP_RPL_REINIT_OF_INTERNAL_CACHE_FOR_WRITE_FAILED + ER_GRP_RPL_FAILED_TO_CREATE_COMMIT_CACHE + ER_GRP_RPL_REINIT_OF_COMMIT_CACHE_FOR_WRITE_FAILED * The TempTable storage engine now supports storage of binary large object (BLOB) type columns. This enhancement improves performance for queries that use temporary tables containing BLOB data. Previously, temporary tables that contained BLOB data were stored in the on-disk storage engine defined by internal_tmp_disk_storage_engine. * The MySQL Server code for deserialization of binary log events has been refactored to improve the identification and resilient handling of corrupted and invalid event data during replication, and also during processing with mysqlbinlog, whether or not binary log checksums are used on the server. * Previously, executing RENAME TABLE required that there be no tables locked with LOCK TABLES. Now it is possible to rename tables that are locked with a WRITE lock or that are the product of renaming WRITE-locked tables from earlier steps in a multiple-table rename operation. * The group_replication_member_expel_timeout option has been added to define the time period that the group should wait for a non-responding member before evicting the member from the group. This enables you to configure the eviction process when the connection to members is unreliable.
↧