Quantcast
Channel: MySQL Forums - Announcements
Viewing all 1041 articles
Browse latest View live

MySQL Connector/Python 8.0.12 has been released (no replies)

$
0
0
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 Cluster 7.5.11 has been released (no replies)

$
0
0
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)

$
0
0
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)

$
0
0
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)

$
0
0
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)

$
0
0

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)

$
0
0
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)

$
0
0
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)

$
0
0
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)

$
0
0
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)

$
0
0
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

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)

$
0
0
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)

$
0
0
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)

$
0
0
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)

$
0
0
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.

MySQL Enterprise Monitor 4.0.7 has been released (no replies)

$
0
0
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.

MySQL Enterprise Monitor 8.0.3 has been released (no replies)

$
0
0
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.

MySQL Connector/C++ 8.0.13 has been released (no replies)

$
0
0

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)

$
0
0
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)

$
0
0
[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!


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.
Viewing all 1041 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>