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

MySQL Cluster 7.4.10 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.10, 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 Cluster NDB 7.4.10 (5.6.28-ndb-7.4.10) (2016-01-29)
 
   MySQL Cluster NDB 7.4.10 is a new release of MySQL Cluster
   7.4 which fixes a major performance regression found in MySQL
   Cluster NDB 7.4.8 which also affected MySQL Cluster NDB
   7.4.9. Users of previous releases of MySQL Cluster can and
   should bypass the 7.4.8 and 7.4.9 releases when performing an
   upgrade, and upgrade directly to MySQL Cluster NDB 7.4.10 or
   later.

   Obtaining MySQL Cluster NDB 7.4.  MySQL Cluster NDB 7.4
   source code and binaries can be obtained from
   http://dev.mysql.com/downloads/cluster/.

   For an overview of changes made in MySQL Cluster NDB 7.4, see
   MySQL Cluster Development in MySQL Cluster NDB 7.4
   (http://dev.mysql.com/doc/refman/5.6/en/mysql-cluster-develop
    ment-5-6-ndb-7-4.html).

   This release also incorporates all bugfixes and changes made
   in MySQL Cluster NDB 7.4.9 and previous MySQL Cluster
   releases, as well as all bugfixes and feature changes which
   were added in mainline MySQL 5.6 through MySQL 5.6.28 (see
   Changes in MySQL 5.6.28 (2015-12-07)
   (http://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-28.h
   tml)).

   Bugs Fixed

    * A serious regression was inadvertently introduced whereby
       local checkpoints and thus restarts often took much
       longer than expected. This occurred due to the fact that
       the setting for MaxDiskWriteSpeedOwnRestart was ignored
       during restarts and the value of
       MaxDiskWriteSpeedOtherNodeRestart, which is much lower by
       default than the default for MaxDiskWriteSpeedOwnRestart,
       was used instead. This issue affected restart times and
       performance only and did not have any impact on normal
       operations. (Bug #22582233)
    
On behalf of Oracle MySQL RE team
Sreedhar S


MySQL Cluster 7.5.0 has been released (part 1/3) (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)

[Due to size limitations on forum/email, this announcement had to be 
split into three parts. This is part 1.] 

MySQL Cluster 7.5.0 DMR can be downloaded from the "Development
Releases" tab at

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

As with any other pre-production release, caution should be taken when
installing on production level systems or systems with critical data.
More information on the Development Milestone Release process can be
found at

  http://dev.mysql.com/doc/mysql-development-cycle/en/development-milestone-releases.html

More details can be found at

  http://www.mysql.com/products/cluster/

Enjoy !

Changes in MySQL Cluster NDB 7.5.0 (5.7.10-ndb-7.5.0) (2016-02-05,
Developer Milestone)

   MySQL Cluster NDB 7.5.0 is a new release of MySQL 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.6/en/mysql-cluster.html) storage
   engine, as well as fixing recently discovered bugs in previous MySQL
   Cluster releases.

   Obtaining MySQL Cluster NDB 7.5.  MySQL Cluster NDB 7.5 source code
   and binaries can be obtained from
   http://dev.mysql.com/downloads/cluster/.

   This release also incorporates all bugfixes and changes made in
   previous MySQL Cluster releases, as well as all bugfixes and feature
   changes which were added in mainline MySQL 5.7 through MySQL 5.7.10
   (see Changes in MySQL 5.7.10 (2015-12-07)
   (http://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-10.html)).

     * Functionality Added or Changed

     * Bugs Fixed

   Functionality Added or Changed

     * Important Change: Previously, the ndbinfo
       (http://dev.mysql.com/doc/refman/5.6/en/mysql-cluster-ndbinfo.html)
       information database included lookup tables that used
       the MyISAM
       (http://dev.mysql.com/doc/refman/5.6/en/myisam-storage-engine.html)
       storage engine. This dependency on MyISAM has now been
       removed. (Bug #20075747)

     * Important Change: Previously, the NDB scheduler always
       optimized for speed against throughput in a predetermined manner
       (this was hard coded); this balance can now be set using the
       SchedulerResponsiveness
       (http://dev.mysql.com/doc/refman/5.6/en/mysql-cluster-ndb
       d-definition.html#ndbparam-ndbd-schedulerresponsiveness) data
       node configuration parameter. This parameter accepts an integer
       in the range of 0-10 inclusive, with 5 as the default. Higher
       values provide better response times relative to throughput.
       Lower values provide increased throughput, but impose longer
       response times. (Bug #78531, Bug #21889312)

     * Important Change: A number of MySQL Cluster data node
       configuration parameters were deprecated in earlier versions of
       MySQL Cluster, and have been removed with this release. These
       parameters include Id, NoOfDiskPagesToDiskDuringRestartTUP,
       NoOfDiskPagesToDiskDuringRestartACC,
       NoOfDiskPagesToDiskAfterRestartACC,
       NoOfDiskPagesToDiskAfterRestartTUP, ReservedSendBufferMemory,
       MaxNoOfIndexes, and Discless (use Diskless instead), as well as
       DiskCheckpointSpeed and DiskCheckpointSpeedInRestart. The archaic
       and unused ByteOrder computer configuration parameter has also
       been removed. These parameters are no longer supported; most of
       them already did not have (or no longer had) any effect. Trying
       to use any of these parameters in a MySQL Cluster configuration
       file now results in an error.  For more information, see MySQL
       Cluster Development History
       (http://dev.mysql.com/doc/refman/5.6/en/mysql-cluster-dev
       elopment.html). (Bug #77404, Bug #21280428)

     * Important Change: The ExecuteOnComputer configuration
       parameter for management, data, and API nodes is now deprecated,
       and is subject to removal in a future MySQL Cluster release. For
       all types of MySQL Cluster nodes, you should now use the HostName
       parameter exclusively for identifying hosts in the cluster
       configuration file.  This information is also now displayed in
       the output of ndb_config --configinfo
       (http://dev.mysql.com/doc/refman/5.6/en/mysql-cluster-pro
       grams-ndb-config.html#option_ndb_config_configinfo) --xml
       (http://dev.mysql.com/doc/refman/5.6/en/mysql-cluster-pro
       grams-ndb-config.html#option_ndb_config_xml). (Bug #53052, 
       Bug #11760628)

     * Important Change: The ndbinfo
       (http://dev.mysql.com/doc/refman/5.6/en/mysql-cluster-ndb
       info.html) database can now provide default and current
       information about MySQL Cluster node configuration parameters as
       a result of the following changes:

         1. The config_params
         (http://dev.mysql.com/doc/refman/5.6/en/mysql-cluste
         r-ndbinfo-config-params.html) table has been enhanced with
         additional columns providing information about each
         configuration parameter, including its type, default, and
         maximum and minimum values (where applicable).

         2. A new config_values table has been added. A row in this
         table shows the current value of a parameter on a given node.
         You can obtain values of MySQL Cluster configuration parameters
         by name using a join on these two tables such as the one shown
         here: 
         SELECT  p.param_name AS Name,
         v.node_id AS Node,
         p.param_type AS Type,
         p.param_default AS 'Default',
         v.config_value AS Current
         FROM    config_params p
         JOIN    config_values v
         ON      p.param_number = v.config_param
         WHERE   p. param_name IN ('NodeId', 'HostName',
         'DataMemory', 'IndexMemory');

         
     * Deprecated MySQL Cluster node configuration parameters
       are now indicated as such by ndb_config --configinfo
       (http://dev.mysql.com/doc/refman/5.6/en/mysql-cluster-pro
       grams-ndb-config.html#option_ndb_config_configinfo) --xml
       (http://dev.mysql.com/doc/refman/5.6/en/mysql-cluster-pro
       grams-ndb-config.html#option_ndb_config_xml). For each parameter
       currently deprecated, the corresponding <param/> tag in the XML
       output now includes the attribute deprecated="true". (Bug
       #21127135)

     * Added the --ndb-cluster-connection-pool-nodeids option
       for mysqld, which can be used to specify a list of nodes by node
       ID for connection pooling. The number of node IDs in the list
       must equal the value set for --ndb-cluster-connection-pool
       (http://dev.mysql.com/doc/refman/5.6/en/mysql-cluster-opt
       ions-variables.html#option_mysqld_ndb-cluster-connection-pool).
       (Bug #19521789)

     * Added the PROMPT command in the ndb_mgm client. This
       command has the syntax PROMPT string, which sets the client's
       prompt to string. Issuing the command without an argument causes
       the prompt to be reset to the default (ndb_mgm>). See Commands in
       the MySQL Cluster Management Client
       (http://dev.mysql.com/doc/refman/5.6/en/mysql-cluster-mgm
       -client-commands.html), for more information. (Bug #18421338)

     * When the --database
       (http://dev.mysql.com/doc/refman/5.6/en/mysql-cluster-pro
       grams-ndb-show-tables.html#option_ndb_show_tables_database)
       option has not been specified for ndb_show_tables, and no tables
       are found in the TEST_DB database, an appropriate warning message
       is now issued. (Bug #78379, Bug #11758430)

     * The NDB
       (http://dev.mysql.com/doc/refman/5.6/en/mysql-cluster.html)
       storage engine now uses the improved records-per-key interface
       for index statistics introduced for the optimizer in MySQL 5.7.
       Some improvements due to this change are listed here:

          + The optimizer can now choose better execution plans for
          queries on NDB tables in many cases where a less optimal join
          index or table join order would previously have been chosen.

          + EXPLAIN
          (http://dev.mysql.com/doc/refman/5.6/en/explain.html) now
          provides more accurate row estimates than previously.

          + Improved cardinality estimates can be obtained from SHOW
          INDEX (http://dev.mysql.com/doc/refman/5.6/en/show-index.html).

     * Cluster Replication: Normally, RESET SLAVE
       (http://dev.mysql.com/doc/refman/5.6/en/reset-slave.html) causes
       all entries to be deleted from the mysql.ndb_apply_status table.
       This release adds the ndb_clear_apply_status
       (http://dev.mysql.com/doc/refman/5.6/en/mysql-cluster-opt
       ions-variables.html#sysvar_ndb_clear_apply_status) system
       variable, which makes it possible to override this behavior. This
       variable is ON by default; setting it to OFF keeps RESET SLAVE
       from purging the ndb_apply_status table. (Bug #12630403)

  Bugs Fixed

     * Important Change: The options controlling behavior of NDB
       (http://dev.mysql.com/doc/refman/5.6/en/mysql-cluster.html)
       programs with regard to the number and timing of successive
       attempts to connect to a management server have changed as listed
       here:

          + The minimum value for the --connect-retry-delay
          (http://dev.mysql.com/doc/refman/5.6/en/mysql-cluste
          r-program-options-common.html#option_ndb_common_conn
          ect-retry-delay) option common to all NDB programs has been
          changed from 0 to 1; this means that all NDB programs now wait
          at least 1 second between successive connection attempts, and
          it is no longer possible to set a waiting time equal to 0.

          + The semantics for the --connect-retries
          (http://dev.mysql.com/doc/refman/5.6/en/mysql-cluste
          r-program-options-common.html#option_ndb_common_conn
          ect-retries) option have changed slightly, such that the value
          of this option now sets the number of times an NDB program
          tries to connect to a management server. Setting this option
          to 0 now causes the program to attempt the connection
          indefinitely, until it either succeeds or is terminated by
          other means (such as kill).

          + In addition, the default for the --connect-retries option
          for the ndb_mgm client has been changed from 3 to 12, so that
          the minimum, maximum, and default values for this option when
          used with ndb_mgm are now exactly the same as for all other
          NDB programs.  The ndb_mgm --try-reconnect
          (http://dev.mysql.com/doc/refman/5.6/en/mysql-cluste
          r-programs-ndb-mgm.html#option_ndb_mgm_try-reconnect) option,
          although deprecated in MySQL Cluster NDB 7.4, continues to be
          supported as a synonym for ndb_mgm --connect-retries to
          provide backwards compatibility. The default value for
          --try-reconnect has also been changed from 3 to 12,
          respectively, so that this option continues to behave in the
          exactly in the same way as --connect-retries.  (Bug #22116937)

     * Important Change: In previous versions of MySQL Cluster,
       other DDL operations could not be part of ALTER ONLINE TABLE ...
       RENAME ...
       (http://dev.mysql.com/doc/refman/5.6/en/alter-table.html) . (This
       was disallowed by the fix for BUG#16021021.) MySQL Cluster NDB
       7.5 makes the following changes:

          + Support for the ONLINE and OFFLINE keywords, which was
          deprecated in MySQL Cluster NDB 7.3, is now removed, and use
          of these now causes a syntax error; the NDB
          (http://dev.mysql.com/doc/refman/5.6/en/mysql-cluster.html)
          storage engine now accepts only ALGORITHM = DEFAULT, ALGORITHM
          = COPY, and ALGORITHM = INPLACE to specify whether the ALTER
          operation is copying or in-place, just as in the standard
          MySQL Server.

          + NDB now allows ALTER TABLE ... ALGORITHM=COPYING RENAME.
          (Bug #20804269, Bug #76543, Bug #20479917, Bug #75797)

     * Important Change; Cluster API: Ndb::pollEvents()
       (http://dev.mysql.com/doc/ndbapi/en/ndb-ndb-methods.html#
       ndb-ndb-pollevents) is now compatible with the TE_EMPTY,
       TE_INCONSISTENT, and TE_OUT_OF_MEMORY event types introduced in
       MySQL Cluster NDB 7.4.3. For detailed information about this
       change, see the description of this method in the MySQL Cluster
       API Developer Guide.  (Bug #20646496)


     * Important Change; Cluster API: Added the method
       Ndb::isExpectingHigherQueuedEpochs()
       (http://dev.mysql.com/doc/ndbapi/en/ndb-ndb-methods.html#
       ndb-ndb-isexpectinghigherqueuedepochs) to the NDB API to detect
       when additional, newer event epochs were detected by
       pollEvents2()
       (http://dev.mysql.com/doc/ndbapi/en/ndb-ndb-methods.html#
       ndb-ndb-pollevents2).  The behavior of Ndb::pollEvents()
       (http://dev.mysql.com/doc/ndbapi/en/ndb-ndb-methods.html#
       ndb-ndb-pollevents) has also been modified such that it now
       returns NDB_FAILURE_GCI (equal to ~(Uint64) 0) when a cluster
       failure has been detected. (Bug #18753887)

     * Important Change; Cluster API: To release the memory used
       for dropped event operations, the event API formerly depended on
       pollEvents()
       (http://dev.mysql.com/doc/ndbapi/en/ndb-ndb-methods.html#
       ndb-ndb-pollevents) and nextEvent()
       (http://dev.mysql.com/doc/ndbapi/en/ndb-ndb-methods.html#
       ndb-ndb-nextevent) to consume all events possibly referring to
       the dropped events. This dependency between dropEventOperation()
       (http://dev.mysql.com/doc/ndbapi/en/ndb-ndb-methods.html#
       ndb-ndb-dropeventoperation) and the first two methods required
       the entire event buffer to be read before attempting to release
       event operation memory (that is, until successive calls to
       pollEvents() and nextEvent() returned no more events).  A related
       cleanup issue arose following the reset of the event buffer (when
       all event operations had previously been dropped), and the event
       buffer was truncated by the first createEventOperation() call
       subsequent to the reset.  To fix these problems, the event buffer
       is now cleared when the last event operation is dropped, rather
       than waiting for a subsequent create operation which might or
       might not occur. Memory taken up by dropped event operations is
       also now released when the event queue has been cleared, which
       removes the hidden requirement for consuming all events to free
       up memory. In addition, event operation memory is now released as
       soon as all events referring to the operation have been consumed,
       rather than waiting for the entire event buffer to be consumed.
       (Bug #78145, Bug #21661297)

     * Important Change; Cluster API: The MGM API error-handling
       functions ndb_mgm_get_latest_error()
       (http://dev.mysql.com/doc/ndbapi/en/mgm-ndb-mgm-get-lates
       t-error.html), ndb_mgm_get_latest_error_msg()
       (http://dev.mysql.com/doc/ndbapi/en/mgm-ndb-mgm-get-lates
       t-error-msg.html), and ndb_mgm_get_latest_error_desc()
       (http://dev.mysql.com/doc/ndbapi/en/mgm-ndb-mgm-get-lates
       t-error-desc.html) each failed when used with a NULL
       handle. You should note that, although these functions
       are now null-safe, values returned in this case are
       arbitrary and not meaningful. (Bug #78130, Bug #21651706)

* To be continued in part 2....

MySQL Cluster 7.5.0 has been released (part 2/3) (no replies)

$
0
0

[This is part 2 of the announcement] 

     * Important Change; Cluster API: The following NDB API
       methods were not actually implemented and have been removed from
       the sources:

          + Datafile
          (http://dev.mysql.com/doc/ndbapi/en/ndb-datafile.html)
          methods: getNode()
          (http://dev.mysql.com/doc/ndbapi/en/ndb-datafile-met
          hods.html#ndb-datafile-getnode), setNode()
          (http://dev.mysql.com/doc/ndbapi/en/ndb-datafile-met
          hods.html#ndb-datafile-setnode), and getFileNo()
          (http://dev.mysql.com/doc/ndbapi/en/ndb-datafile-met
          hods.html#ndb-datafile-getfileno)

          + Undofile
          (http://dev.mysql.com/doc/ndbapi/en/ndb-undofile.html)
          methods: getNode()
          (http://dev.mysql.com/doc/ndbapi/en/ndb-undofile-met
          hods.html#ndb-undofile-getnode), setNode()
          (http://dev.mysql.com/doc/ndbapi/en/ndb-undofile-met
          hods.html#ndb-undofile-setnode), and getFileNo()
          (http://dev.mysql.com/doc/ndbapi/en/ndb-undofile-met
          hods.html#ndb-undofile-getfileno)

          + Table (http://dev.mysql.com/doc/ndbapi/en/ndb-table.html)
          methods: getObjectType()
          (http://dev.mysql.com/doc/ndbapi/en/ndb-table-method
          s.html#ndb-table-getobjecttype) and setObjectType()
          (http://dev.mysql.com/doc/ndbapi/en/ndb-table-method
          s.html#ndb-table-setobjecttype)

     * A serious regression was inadvertently introduced in
       MySQL Cluster NDB 7.4.8 whereby local checkpoints and thus
       restarts often took much longer than expected. This occurred due
       to the fact that the setting for MaxDiskWriteSpeedOwnRestart
       (http://dev.mysql.com/doc/refman/5.6/en/mysql-cluster-ndb
       d-definition.html#ndbparam-ndbd-maxdiskwritespeedownrestart) was
       ignored during restarts and the value of
       MaxDiskWriteSpeedOtherNodeRestart
       (http://dev.mysql.com/doc/refman/5.6/en/mysql-cluster-ndb
       d-definition.html#ndbparam-ndbd-maxdiskwritespeedothernod
       erestart), which is much lower by default than the default for
       MaxDiskWriteSpeedOwnRestart, was used instead. This issue
       affected restart times and performance only and did not have any
       impact on normal operations. (Bug #22582233)


     * The epoch for the latest restorable checkpoint provided
       in the cluster log as part of its reporting for EventBufferStatus
       events (see MySQL Cluster: Messages in the Cluster Log
       (http://dev.mysql.com/doc/refman/5.6/en/mysql-cluster-log
       s-cluster-log.html)) was not well defined and thus unreliable;
       depending on various factors, the reported epoch could be the one
       currently being consumed, the one most recently consumed, or the
       next one queued for consumption.  This fix ensures that the
       latest restorable global checkpoint is always regarded as the one
       that was most recently completely consumed by the user, and thus
       that it was the latest restorable global checkpoint that existed
       at the time the report was generated. (Bug #22378288)

     * Added the --ndb-allow-copying-alter-table option for
       mysqld. Setting this option (or the equivalent system variable
       ndb_allow_copying_alter_table) to OFF keeps ALTER TABLE
       (http://dev.mysql.com/doc/refman/5.6/en/alter-table.html)
       statements from performing copying operations. The default value
       is ON. (Bug #22187649) References: See also Bug #17400320.

     * Attempting to create an NDB
       (http://dev.mysql.com/doc/refman/5.6/en/mysql-cluster.html)
       table having greater than the maximum supported combined width
       for all BIT
       (http://dev.mysql.com/doc/refman/5.6/en/bit-type.html) columns
       (4096) caused data node failure when these columns were defined
       with COLUMN_FORMAT DYNAMIC. (Bug #21889267)

     * Creating a table with the maxmimum supported number of
       columns (512) all using COLUMN_FORMAT DYNAMIC led to data node
       failures. (Bug #21863798)

     * In a MySQL Cluster with multiple LDM instances, all
       instances wrote to the node log, even inactive instances on other
       nodes. During restarts, this caused the log to be filled with
       messages from other nodes, such as the messages shown here:
       2015-06-24 00:20:16 [ndbd] INFO     -- We are adjusting Max Disk
       Write Speed, a restart is ongoing now ...  2015-06-24 01:08:02
       [ndbd] INFO     -- We are adjusting Max Disk Write Speed, no
       restarts ongoing anymore

       Now this logging is performed only by the active LDM instance.
       (Bug #21362380)

     * Backup block states were reported incorrectly during
       backups. (Bug #21360188) References: See also Bug #20204854, Bug
       #21372136.

     * For a timeout in GET_TABINFOREQ while executing a CREATE
       INDEX (http://dev.mysql.com/doc/refman/5.6/en/create-index.html)
       statement, mysqld returned Error 4243 (Index not found) instead
       of the expected Error 4008 (Receive from NDB failed).  The fix
       for this bug also fixes similar timeout issues for a number of
       other signals that are sent the DBDICT kernel block as part of
       DDL operations, including ALTER_TAB_REQ, CREATE_INDX_REQ,
       DROP_FK_REQ, DROP_INDX_REQ, INDEX_STAT_REQ, DROP_FILE_REQ,
       CREATE_FILEGROUP_REQ, DROP_FILEGROUP_REQ, CREATE_EVENT,
       WAIT_GCP_REQ, DROP_TAB_REQ, and LIST_TABLES_REQ, as well as
       several internal functions used in handling NDB
       (http://dev.mysql.com/doc/refman/5.6/en/mysql-cluster.html)
       schema operations. (Bug #21277472) References: See also Bug
       #20617891, Bug #20368354, Bug #19821115.

     * Previously, multiple send threads could be invoked for
       handling sends to the same node; these threads then competed for
       the same send lock. While the send lock blocked the additional
       send threads, work threads could be passed to other nodes.  This
       issue is fixed by ensuring that new send threads are not
       activated while there is already an active send thread assigned
       to the same node. In addition, a node already having an active
       send thread assigned to it is no longer visible to other, already
       active, send threads; that is, such a node is longer added to the
       node list when a send thread is currently assigned to it. (Bug
       #20954804, Bug #76821)

     * Queueing of pending operations when the redo log was
       overloaded (DefaultOperationRedoProblemAction
       (http://dev.mysql.com/doc/refman/5.6/en/mysql-cluster-api
       -definition.html#ndbparam-api-defaultoperationredoproblem action)
       API node configuration parameter) could lead to timeouts when
       data nodes ran out of redo log space (P_TAIL_PROBLEM errors). Now
       when the redo log is full, the node aborts requests instead of
       queuing them. (Bug #20782580) References: See also Bug #20481140.

     * An NDB event buffer can be used with an Ndb
       (http://dev.mysql.com/doc/ndbapi/en/ndb-ndb.html) object to
       subscribe to table-level row change event streams.  Users
       subscribe to an existing event; this causes the data nodes to
       start sending event data signals (SUB_TABLE_DATA) and epoch
       completion signals (SUB_GCP_COMPLETE) to the Ndb object.
       SUB_GCP_COMPLETE_REP signals can arrive for execution in
       concurrent receiver thread before completion of the internal
       method call used to start a subscription.  Execution of
       SUB_GCP_COMPLETE_REP signals depends on the total number of SUMA
       buckets (sub data streams), but this may not yet have been set,
       leading to the present issue, when the counter used for tracking
       the SUB_GCP_COMPLETE_REP signals (TOTAL_BUCKETS_INIT) was found
       to be set to erroneous values. Now TOTAL_BUCKETS_INIT is tested
       to be sure it has been set correctly before it is used. (Bug
       #20575424) References: See also Bug #20561446, Bug #21616263.

     * NDB
       (http://dev.mysql.com/doc/refman/5.6/en/mysql-cluster.html)
       statistics queries could be delayed by the error delay set for
       ndb_index_stat_option
       (http://dev.mysql.com/doc/refman/5.6/en/mysql-cluster-opt
       ions-variables.html#sysvar_ndb_index_stat_option) (default 60
       seconds) when the index that was queried had been marked with
       internal error. The same underlying issue could also cause
       ANALYZE TABLE
       (http://dev.mysql.com/doc/refman/5.6/en/analyze-table.html) to
       hang when executed against an NDB table having multiple indexes
       where an internal error occured on one or more but not all
       indexes.  Now in such cases, any existing statistics are returned
       immediately, without waiting for any additonal statistics to be
       discovered. (Bug #20553313, Bug #20707694, Bug #76325)

     * Memory allocated when obtaining a list of tables or
       databases was not freed afterward. (Bug #20234681, Bug #74510)
       References: See also Bug #18592390, Bug #72322.

     * Added the BackupDiskWriteSpeedPct
       (http://dev.mysql.com/doc/refman/5.6/en/mysql-cluster-ndb
       d-definition.html#ndbparam-ndbd-backupdiskwritespeedpct) data
       node parameter. Setting this parameter causes the data node to
       reserve a percentage of its maximum write speed (as determined by
       the value of MaxDiskWriteSpeed
       (http://dev.mysql.com/doc/refman/5.6/en/mysql-cluster-ndb
       d-definition.html#ndbparam-ndbd-maxdiskwritespeed)) for use in
       local checkpoints while performing a backup.
       BackupDiskWriteSpeedPct is interpreted as a percentage which can
       be set between 0 and 90 inclusive, with a default value of 50.
       (Bug #20204854) References: See also Bug #21372136.

     * After restoring the database schema from backup using
       ndb_restore, auto-discovery of restored tables in transactions
       having multiple statements did not work correctly, resulting in
       Deadlock found when trying to get lock; try restarting
       transaction errors.  This issue was encountered both in the mysql
       client, as well as when such transactions were executed by
       application programs using Connector/J and possibly other MySQL
       APIs.  Prior to upgrading, this issue can be worked around by
       executing SELECT TABLE_NAME, TABLE_SCHEMA FROM
       INFORMATION_SCHEMA.TABLES WHERE ENGINE = 'NDBCLUSTER' on all SQL
       nodes following the restore operation, before executing any other
       statements. (Bug #18075170)

     * Using ndb_mgm STOP -f to force a node shutdown even when
       it triggered a complete shutdown of the cluster, it was possible
       to lose data when a sufficient number of nodes were shut down,
       triggering a cluster shutodwn, and the timing was such that SUMA
       handovers had been made to nodes already in the process of
       shutting down. (Bug #17772138)

     * When using a sufficiently large value for
       TransactionDeadlockDetectionTimeout
       (http://dev.mysql.com/doc/refman/5.6/en/mysql-cluster-ndb
       d-definition.html#ndbparam-ndbd-transactiondeadlockdetect
       iontimeout) and the default value for sort_buffer_size
       (http://dev.mysql.com/doc/refman/5.6/en/server-system-var
       iables.html#sysvar_sort_buffer_size), executing SELECT
       (http://dev.mysql.com/doc/refman/5.6/en/select.html) * FROM
       ndbinfo.cluster_operations
       (http://dev.mysql.com/doc/refman/5.6/en/mysql-cluster-ndb
       info-cluster-operations.html) ORDER BY transid with multiple
       concurrent conflicting or deadlocked transactions, each
       transaction having several pending operations, caused the SQL
       node where the query was run to fail. (Bug #16731538, Bug #67596)

     * The ndbinfo.config_params
       (http://dev.mysql.com/doc/refman/5.6/en/mysql-cluster-ndb
       info-config-params.html) table is now read-only. (Bug #11762750,
       Bug #55383)

     * NDB failed during a node restart due to the status of the
       current local checkpoint being set but not as active, even though
       it could have other states under such conditions. (Bug #78780,
       Bug #21973758)

     * ndbmtd checked for signals being sent only after a full
       cycle in run_job_buffers, which is performed for all job buffer
       inputs. Now this is done as part of run_job_buffers itself, which
       avoids executing for extended periods of time without sending to
       other nodes or flushing signals to other threads. (Bug #78530,
       Bug #21889088)

     * When attempting to enable index statistics, creation of
       the required system tables, events and event subscriptions often
       fails when multiple mysqld processes using index statistics are
       started concurrently in conjunction with starting, restarting, or
       stopping the cluster, or with node failure handling. This is
       normally recoverable, since the affected mysqld process or
       processes can (and do) retry these operations shortly thereafter.
       For this reason, such failures are no longer logged as warnings,
       but merely as informational events.  (Bug #77760, Bug #21462846)

     * It was possible to end up with a lock on the send buffer
       mutex when send buffers became a limiting resource, due either to
       insufficient send buffer resource configuration, problems with
       slow or failing communications such that all send buffers became
       exhausted, or slow receivers failing to consume what was sent. In
       this situation worker threads failed to allocate send buffer
       memory for signals, and attempted to force a send in order to
       free up space, while at the same time the send thread was busy
       trying to send to the same node or nodes. All of these threads
       competed for taking the send buffer mutex, which resulted in the
       lock already described, reported by the watchdog as Stuck in
       Send.  This fix is made in two parts, listed here:

         1. The send thread no longer holds the global send thread mutex
         while getting the send buffer mutex; it now releases the global
         mutex prior to locking the send buffer mutex. This keeps worker
         threads from getting stuck in send in such cases.

         2. Locking of the send buffer mutex done by the send threads
         now uses a try-lock. If the try-lock fails, the node to make
         the send to is reinserted at the end of the list of send nodes
         in order to be retried later. This removes the Stuck in Send
         condition for the send threads.  (Bug #77081, Bug #21109605)

     * Disk Data: A unique index on a column of an NDB
       (http://dev.mysql.com/doc/refman/5.6/en/mysql-cluster.html)
       table is implemented with an associated internal ordered index,
       used for scanning. While dropping an index, this ordered index
       was dropped first, followed by the drop of the unique index
       itself. This meant that, when the drop was rejected due to (for
       example) a constraint violation, the statement was rejected but
       the associated ordered index remained deleted, so that any
       subsequent operation using a scan on this table failed.  We fix
       this problem by causing the unique index to be removed first,
       before removing the ordered index; removal of the related ordered
       index is no longer performed when removal of a unique index
       fails. (Bug #78306, Bug #21777589)

    * Cluster Replication: While the binary log injector thread
       was handling failure events, it was possible for all NDB tables
       to be left indefinitely in read-only mode. This was due to a race
       condition between the binlog injector thread and the utility
       thread handling events on the ndb_schema table, and to the fact
       that, when handling failure events, the binlog injector thread
       places all NDB tables in read-only mode until all such events are
       handled and the thread restarts itself.  When the binlog inject
       thread receives a group of one or more failure events, it drops
       all other existing event operations and expects no more events
       from the utility thread until it has handled all of the failure
       events and then restarted itself. However, it was possible for
       the utility thread to continue attempting binary log setup while
       the injector thread was handling failures and thus attempting to
       create the schema distribution tables as well as event
       subscriptions on these tables. If the creation of these tables
       and event subscriptions occurred during this time, the binlog
       injector thread's expectation that there were no further event
       operations was never met; thus, the injector thread never
       restarted, and NDB tables remained in read-only as described
       previously.  To fix this problem, the Ndb
       (http://dev.mysql.com/doc/ndbapi/en/ndb-ndb.html) object that
       handles schema events is now definitely dropped once the
       ndb_schema table drop event is handled, so that the utility
       thread cannot create any new events until after the injector
       thread has restarted, at which time, a new Ndb object for
       handling schema events is created. (Bug #17674771, Bug #19537961,
       Bug #22204186, Bug #22361695)


* To be continued in part 3....

MySQL Cluster 7.5.0 has been released (part 3/3) (no replies)

$
0
0
[This is part 3 of the announcement] 

     * Cluster API: The binlog injector did not work correctly
       with TE_INCONSISTENT event type handling by Ndb::nextEvent()
       (http://dev.mysql.com/doc/ndbapi/en/ndb-ndb-methods.html#
       ndb-ndb-nextevent). (Bug #22135541) References: See also Bug
       #20646496.

     * Cluster API: While executing dropEvent()
       (http://dev.mysql.com/doc/ndbapi/en/ndb-dictionary-method
       s.html#ndb-dictionary-dropevent), if the coordinator DBDICT
       failed after the subscription manager (SUMA block) had removed
       all subscriptions but before the coordinator had deleted the
       event from the system table, the dropped event remained in the
       table, causing any subsequent drop or create event with the same
       name to fail with NDB error 1419 Subscription already dropped or
       error 746 Event name already exists. This occurred even when
       calling dropEvent()
       (http://dev.mysql.com/doc/ndbapi/en/ndb-dictionary-method
       s.html#ndb-dictionary-dropevent) with a nonzero force argument.
       Now in such cases, error 1419 is ignored, and DBDICT deletes the
       event from the table. (Bug #21554676)

     * Cluster API: Ndb::pollEvents()
       (http://dev.mysql.com/doc/ndbapi/en/ndb-ndb-methods.html#
       ndb-ndb-pollevents) and pollEvents2()
       (http://dev.mysql.com/doc/ndbapi/en/ndb-ndb-methods.html#
       ndb-ndb-pollevents2) were slow to receive events, being dependent
       on other client threads or blocks to perform polling of
       transporters on their behalf. This fix allows a client thread to
       perform its own transporter polling when it has to wait in either
       of these methods.  Introduction of transporter polling also
       revealed a problem with missing mutex protection in the
       ndbcluster_binlog handler, which has been added as part of this
       fix. (Bug #20957068, Bug #22224571, Bug #79311)

     * Cluster API: The pollEvents2()
       (http://dev.mysql.com/doc/ndbapi/en/ndb-ndb-methods.html#
       ndb-ndb-pollevents2) method now waits indefinitely for events
       when a negative value is used for the time argument. (Bug
       #20762291)

     * Cluster API: Creation and destruction of
       Ndb_cluster_connection
       (http://dev.mysql.com/doc/ndbapi/en/ndb-ndb-cluster-conne
       ction.html) objects by multiple threads could make use of the
       same application lock, which in some cases led to failures in the
       global dictionary cache. To alleviate this problem, the creation
       and destruction of several internal NDB API objects have been
       serialized. (Bug #20636124)

     * Cluster API: When an Ndb
       (http://dev.mysql.com/doc/ndbapi/en/ndb-ndb.html) object created
       prior to a failure of the cluster was reused, the event queue of
       this object could still contain data node events originating from
       before the failure. These events could reference "old" epochs
       (from before the failure occurred), which in turn could violate
       the assumption made by the nextEvent()
       (http://dev.mysql.com/doc/ndbapi/en/ndb-ndb-methods.html#
       ndb-ndb-nextevent) method that epoch numbers always increase.
       This issue is addressed by explicitly clearing the event queue in
       such cases. (Bug #18411034) References: See also Bug #20888668.

     * Cluster API: After the initial restart of a node
       following a cluster failure, the cluster failure event added as
       part of the restart process was deleted when an event that
       existed prior to the restart was later deleted. This meant that,
       in such cases, an Event API client had no way of knowing that
       failure handling was needed. In addition, the GCI used for the
       final cleanup of deleted event operations, performed by
       pollEvents()
       (http://dev.mysql.com/doc/ndbapi/en/ndb-ndb-methods.html#
       ndb-ndb-pollevents) and nextEvent()
       (http://dev.mysql.com/doc/ndbapi/en/ndb-ndb-methods.html#
       ndb-ndb-nextevent) when these methods have consumed all available
       events, was lost. (Bug #78143, Bug #21660947)

On behalf of the MySQL Release Team,
Balasubramanian Kandasamy

MySQL Community Server 5.7.11 has been released (no replies)

$
0
0
Dear MySQL users,

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

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

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

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

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

MySQL Server 5.7.11 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 5.7.11 is also available from our repository for Linux
platforms, go here for details:

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

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

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

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

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

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

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

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

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

Enjoy!


Changes in MySQL 5.7.11 (2016-02-05)


     * Compilation Notes

     * Data Type Notes

     * Installation Notes

     * Packaging Notes

     * Security Notes

     * Functionality Added or Changed

     * Bugs Fixed

   Compilation Notes

     * A value of system is now permitted for the WITH_BOOST
       CMake option. If this option is not set or is set to
       system, it is assumed that the correct version of Boost
       is installed on the compilation host in the standard
       location. In this case, the installed version of Boost is
       used rather than any version included with a MySQL source
       distribution. (Bug #22224313)

     * In addition to the mysql-5.7.11.tar.gz source tarball,
       another tarball named mysql-boost-5.7.11.tar.gz is
       provided. The new tarball contains everything in the
       first tarball, but also contains all the required Boost
       header files in a subdirectory named boost. This is for
       the benefit of those who do not have the correct Boost
       version installed and do not wish to or cannot download
       it. To build from this source distribution, add
       -DWITH_BOOST=boost to the CMake command line.

   Data Type Notes

     * Bit functions and operators comprise BIT_COUNT(),
       BIT_AND(), BIT_OR(), BIT_XOR(), &, |, ^, ~, <<, and >>.
       Currently, bit functions and operators require BIGINT
       (64-bit integer) arguments and return BIGINT values, so
       they have a maximum range of 64 bits. Arguments of other
       types are converted to BIGINT and truncation might occur.
       A planned extension for MySQL 5.8 is to permit bit
       functions and operators to take binary string type
       arguments (BINARY, VARBINARY, and the BLOB types),
       enabling them to take arguments and produce return values
       larger than 64 bits. Consequently, bit operations on
       binary arguments in MySQL 5.7 might produce different
       results in MySQL 5.8. To provide advance notice about
       this potential change in behavior, the server now
       produces warnings for bit operations for which binary
       arguments will not be converted to integer in MySQL 5.8.
       These warnings afford an opportunity to rewrite affected
       statements. To explicitly produce MySQL 5.7 behavior in a
       way that will not change after an upgrade to 5.8, cast
       bit-operation binary arguments to convert them to
       integer. For more information and examples, see Bit
       Functions and Operators
       (http://dev.mysql.com/doc/refman/5.7/en/bit-functions.html).

   Installation Notes

     * Previously, mysqld --initialize required the data
       directory to not exist or, if it existed, to be empty.
       Now an existing data directory is permitted to be
       nonempty if every entry either has a name that begins
       with a period (.) or is named using an --ignore-db-dir
       option. (Bug #79250, Bug #22213873)

   Packaging Notes

     * Packaging support for Ubuntu 15.10 was added. (Bug
       #79104, Bug #22147191)

   Security Notes

     * The linked OpenSSL library for the MySQL Commercial
       Server has been updated from version 1.0.1p to version
       1.0.1q. Issues fixed in the new version are described at
       http://www.openssl.org/news/vulnerabilities.html .
       This change does not affect the Oracle-produced MySQL
       Community build of MySQL Server, which uses the yaSSL
       library instead. (Bug #22348181)

     * The default value of the default_password_lifetime system
       variable that controls the global password expiration
       policy has been changed from 360 (360 days) to 0 (no
       password expiration). The default of 360 sometimes took
       people by surprise when account passwords expired a year
       after upgrading to MySQL 5.7. To continue to use a value
       other than 0 as the password expiration, start the server
       with an explicit setting for default_password_lifetime.
       For example, use these lines in an option file:
[mysqld]
default_password_lifetime=360

       (Bug #77277, Bug #21284761)

     * MySQL client programs now support an --ssl-mode option
       that enables you to specify the security state of the
       connection to the server. Permitted option values are
       PREFERRED (establish a secure encrypted connection if the
       server supports the capability, falling back to an
       unencrypted connection otherwise), DISABLED (establish an
       unencrypted connection), REQUIRED (establish a secure
       connection, or fail), VERFIFY_CA (like REQUIRED, but
       additionally verify the server certificate),
       VERIFY_IDENTITY (like VERIFY_CA, but additionally verify
       that the server certificate matches the host name to
       which the connection is attempted). For backward
       compatibility, the default is PREFERRED if --ssl-mode is
       not specified.
       These clients support --ssl-mode: mysql, mysqladmin,
       mysqlbinlog, mysqlcheck, mysqldump, mysqlimport,
       mysqlshow, mysqlpump, mysqlslap, mysqltest,
       mysql_upgrade.
       The --ssl-mode option comprises the capabilities of the
       client-side --ssl and --ssl-verify-server-cert options.
       Consequently, both of those options are now deprecated
       and will be removed in a future MySQL release. Use
       --ssl-mode=REQUIRED instead of --ssl=1 or --enable-ssl.
       Use --ssl-mode=DISABLED instead of --ssl=0, --skip-ssl,
       or --disable-ssl. Use --ssl-mode=VERIFY_IDENTITY instead
       of --ssl-verify-server-cert options. (The server-side
       --ssl option is not deprecated.)
       For the C API, the new MYSQL_OPT_SSL_MODE option for
       mysql_options() corresponds to the --ssl-mode option. The
       MYSQL_OPT_SSL_ENFORCE and
       MYSQL_OPT_SSL_VERIFY_SERVER_CERT options for
       mysql_options() correspond to the client-side --ssl and
       --ssl-verify-server-cert options. They are now deprecated
       and will be removed in a future MySQL release. Use
       MYSQL_OPT_SSL_MODE with an option value of
       SSL_MODE_REQUIRED or SSL_MODE_VERIFY_IDENTITY instead.
       For more information, see Command Options for Secure
       Connections
       (http://dev.mysql.com/doc/refman/5.7/en/secure-connection-options.html),
       and mysql_options()
       (http://dev.mysql.com/doc/refman/5.7/en/mysql-options.html).
       In consequence of this change, the minor C API version
       number was incremented.

     * MySQL now supports a keyring service that enables
       internal MySQL server components and plugins to securely
       store sensitive information for later retrieval. The
       implementation includes a keyring_file plugin that stores
       data in a file local to the server host. For more
       information, see The MySQL Keyring
       (http://dev.mysql.com/doc/refman/5.7/en/keyring.html).

   Functionality Added or Changed

     * InnoDB: A new InnoDB configuration option, innodb_tmpdir,
       allows you to configure a separate temporary file
       directory for online ALTER TABLE operations. This option
       was introduced to help avoid tmpdir overflows that could
       occur as a result of large temporary files created during
       online ALTER TABLE operations. innodb_tmpdir is a SESSION
       variable and can be configured dynamically using a SET
       statement. (Bug #19183565)

     * InnoDB: InnoDB now supports at-rest data encryption for
       InnoDB tables stored in file-per-table tablespaces.
       Encryption is enabled by specifying the ENCRYPTION option
       when creating or altering an InnoDB table. For more
       information, see InnoDB Tablespace Encryption
 (http://dev.mysql.com/doc/refman/5.7/en/innodb-tablespace-encryption.html).

     * Replication: The log_statements_unsafe_for_binlog
       variable was added to provide control over whether the
       warnings generated by error 1592 are added to the binary
       log or not.

     * yaSSL was upgraded to version 2.3.9. This upgrade
       corrects an issue in which yaSSL handled only cases of
       zero or one leading zeros for the key agreement instead
       of potentially any number, which in rare cases could
       cause connections to fail when using DHE cipher suites.
       (Bug #22361038)

     * The Valgrind function signature in
       mysql-test/valgrind.supp was upgraded for Valgrind 3.11.
       (Bug #22214867)

     * The audit_log plugin now produces events in the
       MYSQL_AUDIT_TABLE_ACCESS_CLASS class. These events are
       abortable. (Bug #21458192)

     * The format of log output produced by mysqld_safe now is
       configurable using the --mysqld-safe-log-timestamps
       option. This option can be used to produce log timestamps
       in formats compatible with the server or in formats used
       by mysqld_safe in older versions of MySQL. For more
       information, see mysqld_safe --- MySQL Server Startup
       Script
       (http://dev.mysql.com/doc/refman/5.7/en/mysqld-safe.html).
       (Bug #78475, Bug #21862951)

     * The mysql_kill(), mysql_list_fields(),
       mysql_list_processes(), and mysql_refresh() C API
       functions are deprecated and will be removed in a future
       version of MySQL. The same is true of the corresponding
       COM_PROCESS_KILL, COM_FIELD_LIST, COM_PROCESS_INFO, and
       COM_REFRESH client/server protocol commands. Instead, use
       mysql_query() to execute a KILL, SHOW COLUMNS, SHOW
       PROCESSLIST, or FLUSH statement, respectively.

     * The mysql_plugin utility is deprecated and will be
       removed in a future version of MySQL. Alternatives
       include loading plugins at server startup using the
       --plugin-load or --plugin-load-add option, or at runtime
       using the INSTALL PLUGIN statement.

     * Storage engines now can request notification about
       acquisition and release of exclusive metadata locks. As
       result, the LOCK_STATUS column of the metadata_locks
       Performance Schema table has two new status values. The
       PRE_ACQUIRE_NOTIFY and POST_RELEASE_NOTIFY status values
       are brief and signify that the metadata locking
       subsubsystem is notifying interested storage engines
       while entering lock acquisition or leaving lock release
       operations.

   Bugs Fixed

     * InnoDB; Partitioning: When OPTIMIZE TABLE rebuilt a
       partitioned InnoDB table, it placed the resulting
       partition tablespace files (*.ibd files) in the default
       data directory instead of the directory specified using
       the DATA DIRECTORY option. (Bug #75112, Bug #20160327)

     * InnoDB: InnoDB failed to update index statistics when
       adding or dropping a virtual column. (Bug #22469660, Bug
       #79775)

     * InnoDB: A small InnoDB buffer pool size with a large
       innodb_stats_persistent_sample_pages setting resulted in
       a Difficult to find free blocks in the buffer pool
       warning. (Bug #22385442)

     * InnoDB: memcached connections are blocked from accessing
       tables that contain an indexed virtual column. Accessing
       an indexed virtual column requires a callback to the
       server, but a memcached connection does not have access
       to the server code. (Bug #22384503, Bug #79691)

     * InnoDB: InnoDB did not return an informative message when
       refusing an online ALTER TABLE operation that attempted
       to add an index and a virtual column. (Bug #22374827)

     * InnoDB: An invalid innodb_saved_page_number_debug setting
       caused a server exit. (Bug #22311319, Bug #79516)

     * InnoDB: InnoDB failed to free a table object when a
       compressed table and temporary compressed table were
       created in the same shared tablespace. (Bug #22306581)

     * InnoDB: In Numa-related code, the size information passed
       to the mbind() call in the buf_chunk_init() function was
       incorrect. (Bug #22293530, Bug #79434)

     * InnoDB: Numa support was incomplete for online buffer
       pool resizing operations. (Bug #22293511, Bug #79354)

     * InnoDB: A SELECT COUNT(*) query that counted the results
       of a full-text subquery raised an assertion. (Bug
       #22270139)

     * InnoDB: InnoDB passed a buffer with an incorrect TINYBLOB
       data length for a virtual column, resulting in a purge
       thread failure. (Bug #22256752)

     * InnoDB: A purge failure occurred while deleting data from
       a table that contained a spatial index. (Bug #22230442)

     * InnoDB: An assertion was raised when purge accessed a
       freed page while attempting to rebuild virtual column
       data from the clustered index. (Bug #22204260)

     * InnoDB: Only prefix bytes were logged for an indexed
       virtual column, resulting in an a Clustered record for
       sec rec not found error. (Bug #22202788)

     * InnoDB: A small buffer pool with an innodb_page_size
       setting of 64K could cause startup, bootstrap, and
       recovery failures. (Bug #22179133, Bug #79201)

     * InnoDB: Unreachable code that checks for 32-bit file
       offsets was removed. (Bug #22163880, Bug #79150)

     * InnoDB: A slow shutdown failure was caused by background
       threads adding undo records to the purge history list
       during or after purge thread exit. (Bug #22154730)

     * InnoDB: The InnoDB purge thread died attempting to purge
       a virtual column index record that was not delete-marked.
       (Bug #22141031)

     * InnoDB: In debug builds, an ALTER TABLE operation that
       increased the column length of a virtual column raised an
       assertion. (Bug #22139917)

     * InnoDB: ut_allocator prepended the allocation payload
       with a 12-byte header on 32-bit systems, causing
       unaligned memory access. On 32-bit SPARC systems, the
       unaligned memory access caused a crash during bootstrap.
       (Bug #22131684)

     * InnoDB: In debug builds, an ALTER TABLE operation that
       added a new virtual column before an existing virtual
       column raised an assertion. (Bug #22123674, Bug
       #22111464)

     * InnoDB: InnoDB startup messages related to dumping and
       loading of the buffer pool were improved. (Bug #22096661,
       Bug #78960)

     * InnoDB: Creating a table with a full-text index and a
       foreign key constraint failed when foreign_key_checks was
       disabled. (Bug #22094601, Bug #78955)
       References: This bug is a regression of Bug #16845421.

     * InnoDB: Support was enabled for ALGORITHM=INPLACE
       operations that add an index on an existing virtual
       column while dropping another virtual column. Support was
       also enabled for ALGORITHM=INPLACE operations that add a
       virtual column and an index. When adding an index on a
       newly-added virtual column, purge now skips the
       uncommitted virtual index. (Bug #22082762)

     * InnoDB: The wrong table object was used to compute
       virtual column values for a query that accessed multiple
       instances of the same table. (Bug #22070021)

     * InnoDB: A purge thread failure occurred when inserting
       and deleting spatial data. The child page number field
       was not stored during the R-tree search stage. (Bug
       #22027053)

     * InnoDB: Starting the server with an empty
       innodb_data_home_dir entry in the configuration file
       caused InnoDB to look for the buffer pool file in the
       root directory, resulting in a startup error. (Bug
       #22016556, Bug #78831)

     * InnoDB: A failure to compute virtual column values caused
       an excessive number of error messages. (Bug #21968375)

     * InnoDB: An INFORMATION_SCHEMA.INNODB_CMP_PER_INDEX query
       raised an assertion. A dictionary mutex was taken while
       InnoDB populated an in-memory heap table. The mutex was
       not released before InnoDB attempted to convert the
       in-memory heap table to an optimized internal temporary
       table. (Bug #21950756, Bug #78714)

     * InnoDB: To avoid a potential hang and redo log overwrite,
       the innodb_log_file_size minimum value was increased from
       1MB to 4MB, and the length calculation in
       log_margin_checkpoint_age() was revised. (Bug #21924224,
       Bug #78647)

     * InnoDB: A full-text query run under high concurrency
       caused a server exit due to an invalid memory access.
       (Bug #21922532)

     * InnoDB: An ALTER TABLE operation on a table partitioned
       across multiple tablespaces moved existing partitions to
       the table's default tablespace, resulting in an assertion
       on SHOW CREATE TABLE. Likewise, ALTER TABLE tbl_name
       TABLESPACE tablespace_name moved existing partitions to
       the named tablespace. Only ALTER TABLE ... REORGANIZE
       PARTITION should move existing partitions to the table's
       default tablespace or to a named tablespace. Running
       ALTER TABLE tbl_name TABLESPACE tablespace_name on a
       table partitioned across multiple tablespaces should only
       change the table's default tablespace. (Bug #21914047,
       Bug #22124042, Bug #79030)

     * InnoDB: With a large innodb_sort_buffer_size setting,
       adding an index on an empty table performed more slowly
       than expected. (Bug #21762319, Bug #78262)

     * InnoDB: A race condition occurred between
       fil_names_write() and file_rename_tablespace_in_mem().
       (Bug #21549928)

     * InnoDB: Purge attempted to access undo pages that were
       freed by a preceding undo log truncate operation,
       resulting in an assertion. (Bug #21508627)

     * InnoDB: InnoDB did not return an informative message when
       refusing an online ALTER TABLE operation on a table with
       a spatial index. (Bug #20111575)

     * InnoDB: A compiler barrier was added to ut_relax_cpu().
       The ut_always_false dummy global variable was removed
       from ut_delay(). (Bug #20045167, Bug #74832)

     * InnoDB: Incorrect index values were returned while
       dropping a virtual column. The altered table object was
       used to evaluate virtual column values. (Bug #79773, Bug
       #22469459)
       References: This bug is a regression of Bug #22082762.

     * Partitioning: Subquery scans on partitioned tables with
       virtual columns could leak memory. (Bug #79145, Bug
       #22162200)

     * Replication: When a slave was configured with
       log_bin=OFF, the applier (SQL) thread was failing to
       correctly roll back partial transactions left in the
       relay log. The fix ensures that on reconnection, the
       applier thread correctly rolls back a partial transaction
       and starts applying it again from the next relay log
       file. (Bug #21691396)

     * Replication: The behavior of SET GTID_PURGED was not
       consistent between version 5.6 and 5.7. The fix ensures
       that version 5.7 does not initiate a transaction for SET
       GTID_PURGED statements. (Bug #21472492)

     * Replication: When DML invokes a trigger or a stored
       function that inserts into an AUTO_INCREMENT column, that
       DML has to be marked as an unsafe statement. If the
       tables are locked in the transaction prior to the DML
       statement (for example by using LOCK TABLES), then the
       DML statement was not being marked as an unsafe
       statement. The fix ensures that such DML statements are
       marked correctly as unsafe. (Bug #17047208)

     * Replication: If pseudo_slave_mode was set to 1 while an
       XA transaction was in the prepare stage, an assert was
       generated. The fix ensures that changes from 0 to 1 can
       be made during XA transactions. Note that this variable
       is solely for internal use by the server. (Bug #79416,
       Bug #22273964, Bug #78695, Bug #21942487)

     * Replication: If the server stopped unexpectedly
       immediately before committing an XA transaction which had
       been prepared, and the transaction modified the
       mysql.gtid_executed table, then the subsequent recovery
       aborted due to an innodb_lock_wait_timeout error when it
       was reading the mysql.gtid_executed table. To fix the
       problem, XA transactions are no longer permitted to
       modify the mysql.gtid_executed table. (Bug #77740, Bug
       #21452916)

     * Replication: As part of the fix for Bug #16290902, when
       writing a DROP TEMPORARY TABLE IF EXISTS query into the
       binary log, the query is no longer preceded by a USE `db`
       statement. Instead the query uses a fully qualified table
       name, for example DROP TEMPORARY TABLE IF EXISTS
       `db`.`t1`;. This changed the application of
       replicate-rewrite-db filter rules, as they work only on
       the default database specified in a USE statement. This
       caused slaves to fail when the resulting CREATE TEMPORARY
       TABLE was applied. The fix ensures that at the time of
       writing a DROP TEMPORARY TABLE IF EXISTS query into the
       binary log, a check is made for the default database. If
       it exists then the query is written as USE default_db in
       the binary log. If a default database is not present then
       the query is logged with the qualified table name. (Bug
       #77417, Bug #21317739)

     * Replication: If generating a GTID for a transaction
       fails, the transaction is not written to the binary log
       but still gets committed. Although running out of GTIDs
       is a rare situation, if it did occur an error was written
       to the binary log as a sync stage error. With
       binlog_error_action=ABORT_SERVER, the server aborts on
       such an error, avoiding data inconsistency. When
       binlog_error_action=IGNORE_ERROR, the server continues
       binary logging after such an error, potentially leading
       to data inconsistency between the master and the slave.
       The fix changes the error to be correctly logged as a
       flush stage error. (Bug #77393, Bug #21276661)

     * Replication: When using --gtid-mode=on ,
       --enforce-gtid-consistency , and --binlog-format=row, if
       a user defined function with multiple DROP TEMPORARY
       TABLE statements was executed on a master, the resulting
       binary log caused an error on slaves. The fix ensures
       that stored functions and triggers are also considered
       multi-statement transactions, and that when
       --enforce-gtid-consistency is enabled, functions with
       CREATE TEMPORARY TABLE or DROP TEMPORARY TABLE statements
       generate an
       ER_GTID_UNSAFE_CREATE_DROP_TEMPORARY_TABLE_IN_TRANSACTION
       error. (Bug #77354, Bug #21253415)

     * Replication: Stored procedure local variables that were
       used in an ALTER EVENT statement were not being
       replicated correctly. This was related to the fact that
       CALL statements are not written into the binary log.
       Instead each statement executed in a stored procedure is
       binary logged separately, with the exception that the
       query string is modified so that uses of stored procedure
       local variables are replaced with
       NAME_CONST('spvar_name', 'spvar-value') calls. DDL
       statements (which are always binary logged in statement
       binary log mode irrespective of the current binary log
       format) can also use stored procedure local variables and
       a clash could cause them to not be replicated correctly.
       The fix ensures that any stored procedure local variables
       used in a query are replaced with NAME_CONST(...), except
       for the case when it is a DML query and the binary log
       format is ROW. (Bug #77288, Bug #21229951)

     * Replication: DROP TABLE statements are regenerated by the
       server before being written to the binary log. If a table
       or database name contained a non-regular character, such
       as non-latin characters, the regenerated statement was
       using the wrong name, breaking replication. The fix
       ensures that in such a case the regenerated name is
       correctly converted back to the original character set.
       Also during work on this bug, it was discovered that in
       the rare case that a table or database name contained 64
       characters, the server was throwing an assert(M_TBLLEN <
       128) assertion. The assertion has been corrected to be
       less than or equal 128. (Bug #77249, Bug #21205695)
       References: See also Bug #78036, Bug #22261585, Bug
       #21619371.

     * Replication: Irrespective of the current binlog_format
       setting, DDL that changes metadata on a master is always
       identified and written to the binary log in STATEMENT
       format. Such DDL could occur from event based SQL
       statements, such as CREATE EVENT or DROP EVENT, or
       transactions that had unsafe functions such as sysdate().
       When binlog_format=MIXED and attempting to replicate such
       DDL, it was not being correctly identified and therefore
       was not being correctly replicated. (Bug #71859, Bug
       #19286708)

     * The System-V initialization script for RHEL6 or older
       failed to enable the mysqld service by default. (Bug
       #22600974)

     * Some activations of triggers that referenced a NEW value
       inside a query might cause a server exit. (Bug #22377554)

     * Parsing the output of ST_GeometryType() as a DATETIME
       value with a default character set of utf32 caused a
       server exit. (Bug #22340858)

     * For a character set loaded from an XML file, the server
       could fail to properly initialize its state map, leading
       to a server exit. (Bug #22338946)

     * Inserting a token of 84 4-byte characters into a
       full-text index raised an assertion. The maximum token
       length was 84 characters up to a maximum of 252 bytes,
       which did not account for 4-byte characters. The maximum
       byte length is now 336 bytes. (Bug #22291765, Bug #79475)

     * For some combination of consumers, the Performance Schema
       prepared statement instrumentation could cause a server
       exit. (Bug #22291560)

     * If a client attempted to use an unsupported client
       character set (ucs2, utf16, utf32), the error message
       reported to the client differed for SSL and non-SSL
       connections. (Bug #22216715)

     * Data corruption or a server exit could occur if a stored
       procedure had a variable declared as TEXT or BLOB and
       data was copied to that variable using SELECT ... INTO
       syntax from a TEXT or BLOB column. (Bug #22203532, Bug
       #22232332, Bug #21941152)

     * For debug builds, with the ONLY_FULL_GROUP_BY SQL mode
       disabled, the optimizer could attempt to sort on outer
       references, causing an assertion to be raised. (Bug
       #22200984)

     * Different handling of YEAR values for INSERT and SELECT
       could raise an assertion when such values were used in a
       generated-column expression. (Bug #22195458)

     * For debug builds, for queries involving MIN() or MAX() on
       an indexed column and a reference to an unindexed
       datetime column, the optimizer could attempt to access
       unread values, causing an assertion to be raised. (Bug
       #22186926)

     * Geohash decoding (for example, for ST_LongFromGeoHash(),
       ST_LatFromGeoHash(), and ST_PointFromGeoHash()) could
       yield incorrect results due to the rounding algorithm
       being too aggressive. (Bug #22165582)

     * In debug builds, with READ UNCOMMITTED transaction
       isolation level, a SELECT reading a generated column
       using an index could raise an assertion. (Bug #22133710)

     * For generated columns, the optimizer could fail to
       establish the proper table reference, resulting in a
       server exit. (Bug #22132822)

     * For some combination of consumers, the Performance Schema
       file instrumentation could fail due to an attempt to use
       a NULL pointer while instrumenting temporary file I/O.
       (Bug #22130453)

     * The Performance Schema could raise an assertion based on
       the (incorrect) assumption that instrumenting a temporary
       file open operation always resulted in an instrumented
       file. (Bug #22118669)

     * An ALTER TABLE statement that added an index on a virtual
       generated column using the INPLACE algorithm did not
       properly report warnings (or errors in strict SQL mode)
       for problems with virtual column values. Any subsequent
       ALTER TABLE on the same table using the COPY algorithm
       produced such warnings (or failures in strict SQL mode)
       due to evaluating the problematic value, but left the
       connection in a state that made further INPLACE
       alterations on the table fail for the same reason. (Bug
       #22095783)

     * If the left expression of an IN expression was a row
       subquery that accesses no tables, an assertion could be
       raised (in debug builds), or incorrect results could be
       returned (in release builds). (Bug #22089623)

     * Expressions that match an indexed generated column may be
       replaced with the generated column by the optimizer to
       enable use of the associated index. However, this
       optimization was not performed for single-table update
       and delete statements. The optimizer now extends this
       replacement optimization to such statements. (Bug
       #22077611)

     * ANSI SQL mode could cause inconsistencies in processing
       of generated column expressions. (Bug #22018979)

     * Removal of server session plugins was faulty and could
       cause a server exit. (Bug #21983102)

     * For some queries, if the optimizer used Disk-Sweep
       Multi-Range Read optimization on generated columns, the
       server could exit. (Bug #21980430)

     * mysqlpump tries to do as much work in parallel as
       possible, but the dump threads lacked a synchronization
       point before backing up the data, resulting in
       inconsistent backup. mysqlpump now locks the server and
       flushes all the tables using FLUSH TABLES WITH READ LOCK
       to ensure that any further connections view the same
       state of all the databases.
       This change lifts the restriction aginst the
       --single-transaction option being mutually exclusive with
       parallelism. When using --single-transaction, it is no
       longer necessary to disable parallelism by setting
       --default-parallelism to 0 and not using any instances of
       --parallel-schemas. (Bug #21980284)

     * A fault in pthread_rwlock_unlock() wherein it decremented
       the lock counter even for already unlocked objects could
       result in deadlock. (Bug #21966621)

     * The Performance Schema could acquire a double lock on
       session system variables, causing a server hang or (in
       debug builds) an assertion to be raised. (Bug #21935106)

     * Certain queries containing WHERE 0 of the following form
       could cause a server exit due to uninitialized reads:
       SELECT (SELECT col AND constant FROM t WHERE 0) IN
       (SELECT constant FROM t1). (Bug #21922202)

     * CREATE TEMPORARY TABLE .. SELECT statements involving BIT
       columns that resulted in a column type redefinition could
       cause a server exit or an improperly created table. (Bug
       #21902059)

     * For UPDATE operations on InnoDB tables, there could be a
       mismatch between the value of a virtual generated column
       in the index and the value in the "before" buffer,
       resulting in a server exit. (Bug #21875520)

     * With character_set_server=utf16le, some values of
       ft_boolean_syntax could cause a server exit for full-text
       searches. (Bug #21631855)

     * With gtid_mode=ON, concurrent execution of SHOW TABLE
       STATUS and REVOKE ALL PRIVILEGES could lead to deadlock
       in there was a view in the database and REVOKE ALL
       PRIVILEGES failed for some but not all of the named
       users. (Bug #21463167)

     * mysqlpump could exit due to incorrect synchronization of
       view-handling threads during dump processing. (Bug
       #21399236, Bug #21447753)

     * With LOCK TABLES in force, an attempt to open a temporary
       MERGE table consisting of a view in its list of tables
       (not the last table in the list) caused a server exit.
       (Bug #20691429)

     * For certain prepared statements, the optimizer could
       transform join conditions such that it used a pointer to
       a temporary table field that was no longer available
       after the initial execution. Subsequent executions caused
       a server exit. (Bug #19941403)

     * Repeated execution of ALTER TABLE v1 CHECK PARTITION as a
       prepared statement, where v1 is a view, led to a server
       exit.
       In addition, output for some administrative operations,
       when they are attempted on a view, changes from "Corrupt"
       to "Operation failed". These include ANALYZE TABLE,
       OPTIMIZE TABLE, and REPAIR TABLE, and ALTER TABLE
       statements that perform ANALYZE PARTITION, CHECK
       PARTITION, OPTIMIZE PARTITION, and REPAIR PARTITION
       operations. (Bug #19817021)

     * Valgrind detected some possibly unsafe use of string
       functions in code used for asymmetric encryption. (Bug
       #19688135)

     * An out-of-memory failure in join buffer allocation could
       lead to incorrect results for multiple-table queries.
       (Bug #19031409)

     * SSL connections ignored any change made by passing the
       MYSQL_OPT_READ_TIMEOUT option to the mysql_options() C
       API function. (Bug #17618162)

     * For ALTER TABLE statements, the parser did not support
       the ALGORITHM clause for some operations involving
       tablespaces or partitions. (Bug #17400320)

     * Debian packages create the root user account using the
       auth_socket authentication plugin to achieve
       secure-by-default installation if installation was done
       with a blank root password. However, auth_socket was
       being used even if the password was not blank. (Bug
       #80137, Bug #22594846)

     * Solaris packages failed to note the dependency of the
       MySQL client library on the libstlport library. (Bug
       #79778, Bug #22504264)

     * Thread handle resource leakage could occur when creating
       threads for handling connections on Windows, which could
       lead to Windows servers eventually running out of
       handles. (Bug #79714, Bug #22455198)

     * Using systemd to start mysqld failed if configuration
       files contained multiple datadir lines. Now the last
       datadir line is used. (Bug #79613, Bug #22361702)

     * A derived table contained in the SET clause of an UPDATE
       statement should be materialized to avoid an error about
       updating a table that is also read in the same statement.
       Materialization did not occur for some statements,
       leading to that error. (Bug #79590, Bug #22343301)

     * MySQL 5.7.8 prohibited references to select list columns
       of the outer query from the HAVING clause of a correlated
       subquery in the inner query because they are not
       permitted by standard SQL. However, because this is a
       frequently used extension, it is once again permitted.
       (Bug #79549, Bug #22328395)
       References: This bug was introduced by Bug #19823076.

     * Installing just shared libraries, clients, and
       development support files failed to install everything
       needed to build client applications because the
       binary_log_types.h header file was not installed. (Bug
       #79531, Bug #22321338)

     * SHOW CREATE TRIGGER could fail to display all applicable
       SQL modes. (Bug #79526, Bug #22313133)

     * On SELinux, mysqld --initialize with an --init-file
       option could fail to initialize the data directory. (Bug
       #79442, Bug #22314098, Bug #79458, Bug #22286481)

     * Syntax checks were not always performed when an ALTER
       TABLE statement changed a column's type from TEXT to
       JSON. This could lead to JSON columns containing invalid
       JSON data. This issue was observed when the original TEXT
       column used the utf8mb4_bin collation. (Bug #79432, Bug
       #22278524)

     * Hexadecimal and bit literals written to saved view
       definitions could be truncated. This could also affect
       extended EXPLAIN output. (Bug #79398, Bug #22268110)

     * ST_Buffer() returned an error for geometries with an SRID
       different from 0. Nonzero SRID values now are permitted
       but ignored (calculations are still done using Cartesian
       coordinates). (Bug #79394, Bug #22306745)

     * A regression caused failure of the workaround at
       Restrictions on Subqueries
       (http://dev.mysql.com/doc/refman/5.7/en/subquery-restrictions.html)
       for avoiding ER_UPDATE_TABLE_USED errors when
       referencing the same table in a subquery as was used as
       target for an UPDATE or DELETE statement. (Bug #79333,
       Bug #22239474)

     * Statements causing multiple parse errors could cause an
       assertion to be raised. (Bug #79303, Bug #22222013)

     * Some queries with derived tables perform better with
       materialization than when merged into the outer query.
       The optimizer no longer uses merging by default for
       derived tables containing dependent subqueries in the
       select list. (Bug #79294, Bug #22223202)

     * ALTER USER and SET PASSWORD did not work at server
       startup when invoked in the file named using the
       --init-file option. (Bug #79277, Bug #22205360)

     * When not in strict SQL mode, attempts to implicitly
       insert NULL into a NOT NULL column resulted in different
       behavior depending on whether the table had a trigger.
       (Bug #79266, Bug #22202665)

     * Some replication-only code was not protected with #ifdef
       and failed to compile with the WITH_UBSAN CMake option
       enabled. (Bug #79236, Bug #22190632)

     * Configuring MySQL with the -DWITH_UBSAN=ON CMake option
       resulted in spurious runtime warnings from comp_err.
       These are now suppressed. Also, a CMake warning was added
       that undefined behavior address sanitizer support is
       currently experimental. (Bug #79230, Bug #22190656)

     * INSERT INTO ... SELECT statements could insert values
       other than DEFAULT into generated columns. (Bug #79204,
       Bug #22179637)

     * With the derived_merge flag of the optimizer_switch
       system variable enabled, queries that used a derived
       table on the inner side of an outer join could return
       incorrect results. (Bug #79194, Bug #22176604)

     * Memory leaks in libmysqld were corrected. (Bug #79187,
       Bug #22174219)

     * FOUND_ROWS() could return a negative value if the
       preceding query was a UNION involving SQL_CALC_FOUND_ROWS
       and LIMIT ... OFFSET. (Bug #79131, Bug #22155786)

     * IN-to-EXISTS subquery transformation could cause SELECT
       NULL IN (subquery) to return 0 rather than NULL.
       IN-to-EXISTS subquery transformation could yield
       incorrect results for queries for which the table was
       nonempty, the subquery on the left side of the IN
       predicate produced an empty result, and semi-join
       optimization was disabled. (Bug #78946, Bug #22090717,
       Bug #19822406)

     * The result from WEIGHT_STRING() could be incorrect when
       used in a view. (Bug #78783, Bug #21974321)

     * If server was started with --thread-handling=no-threads,
       no foreground thread was created for a client connection.
       The Performance Schema did not account for the
       possibility of no foreground threads for queries on the
       session_connect_attrs table, causing an assertion to be
       raised. (Bug #78292, Bug #21765843)

     * mysqlpump generated incorrect INSERT statements for
       tables that had generated columns. (Bug #78082, Bug
       #21650559)

     * ALTER TABLE ... CONVERT TO CHARACTER SET operations that
       used the INPLACE algorithm were ineffective if the table
       contained only numeric data types. Also, such operations
       failed to clean up their temporary .frm file. (Bug
       #77554, Bug #21345391)

     * Heavy SHOW PROCESSLIST or SELECT ... FROM
       INFORMATION_SCHEMA.PROCESSLIST activity could result in
       the server accepting more than max_connections
       connections. (Bug #75155, Bug #20201006)

     * When used with the libmysqld embedded server, the
       mysql_stmt_execute() C API function failed with a
       malformed communication packet error, even for simple
       prepared statements. (Bug #70664, Bug #17883203)

     * Queries using SUM(DISTINCT) could produce incorrect
       results when there were many distinct values. (Bug
       #56927, Bug #11764126, Bug #79648, Bug #22370382)

MySQL Community Server 5.5.48 has been released (no replies)

$
0
0
 
Dear MySQL users,

MySQL Server 5.5.48 is a new version of the 5.5 production release
of the world's most popular open source database. MySQL 5.5.48 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:

MySQL 5.5 is GA, Interview with Tomas Ulin:

  http://dev.mysql.com/tech-resources/interviews/thomas-ulin-mysql-55.html

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.48 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.48 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 section 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-48.html

Enjoy!

Changes in MySQL 5.5.48 (2016-02-05)

     * Functionality Added or Changed

     * Bugs Fixed

   Functionality Added or Changed

     * yaSSL was upgraded to version 2.3.9. This upgrade
       corrects an issue in which yaSSL handled only cases of
       zero or one leading zeros for the key agreement instead
       of potentially any number, which in rare cases could
       cause connections to fail when using DHE cipher suites.
       (Bug #22361038)

     * The Valgrind function signature in
       mysql-test/valgrind.supp was upgraded for Valgrind 3.11.
       (Bug #22214867)

   Bugs Fixed

     * Replication: When DML invokes a trigger or a stored
       function that inserts into an AUTO_INCREMENT column, that
       DML has to be marked as an unsafe statement. If the
       tables are locked in the transaction prior to the DML
       statement (for example by using LOCK TABLES), then the
       DML statement was not being marked as an unsafe
       statement. The fix ensures that such DML statements are
       marked correctly as unsafe. (Bug #17047208)

     * Replication: DROP TABLE statements are regenerated by the
       server before being written to the binary log. If a table
       or database name contained a non-regular character, such
       as non-latin characters, the regenerated statement was
       using the wrong name, breaking replication. The fix
       ensures that in such a case the regenerated name is
       correctly converted back to the original character set.
       Also during work on this bug, it was discovered that in
       the rare case that a table or database name contained 64
       characters, the server was throwing an assert(M_TBLLEN <
       128) assertion. The assertion has been corrected to be
       less than or equal 128. (Bug #77249, Bug #21205695)
       References: See also Bug #78036, Bug #22261585, Bug
       #21619371.

     * Data corruption could occur if a stored procedure had a
       variable declared as TEXT or BLOB and data was copied to
       that variable using SELECT ... INTO syntax from a TEXT or
       BLOB column. (Bug #22232332)

     * CREATE TEMPORARY TABLE .. SELECT statements involving BIT
       columns that resulted in a column type redefinition could
       cause a server exit or an improperly created table. (Bug
       #21902059)

     * Added Microsoft Visual Studio 2015 support. Changes
       include using the native (added in VS 2015) timespec
       library if it exists, renamed lfind/lsearch and
       timezone/tzname to avoid redefinition problems, set
       TMPDIR to "" by default as P_tmpdir no longer exists,
       deprecated std::hash_map in favor of std::unordered_map,
       and added Wix Toolset 3.10 support. (Bug #21770366)
       References: See also Bug #21657078.

     * When an invalid date was supplied to the UNIX_TIMESTAMP()
       function using the STR_TO_DATE() function, no check was
       performed before converting it to a timestamp value. (Bug
       #21564557)

     * With LOCK TABLES in force, an attempt to open a temporary
       MERGE table consisting of a view in its list of tables
       (not the last table in the list) caused a server exit.
       (Bug #20691429)

     * For certain prepared statements, the optimizer could
       transform join conditions such that it used a pointer to
       a temporary table field that was no longer available
       after the initial execution. Subsequent executions caused
       a server exit. (Bug #19941403)

     * Repeated execution of ALTER TABLE v1 CHECK PARTITION as a
       prepared statement, where v1 is a view, led to a server
       exit.
       In addition, output for some administrative operations,
       when they are attempted on a view, changes from "Corrupt"
       to "Operation failed". These include ANALYZE TABLE,
       OPTIMIZE TABLE, and REPAIR TABLE, and ALTER TABLE
       statements that perform ANALYZE PARTITION, CHECK
       PARTITION, OPTIMIZE PARTITION, and REPAIR PARTITION
       operations. (Bug #19817021)

     * Using systemd to start mysqld failed if configuration
       files contained multiple datadir lines. Now the last
       datadir line is used. (Bug #79613, Bug #22361702)

On behalf of Oracle MySQL Release Engineering Team,
Gipson Pulla

MySQL Community Server 5.6.29 has been released (no replies)

$
0
0
Dear MySQL users,

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

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

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

Starting with 5.6.11, Microsoft Windows packages for MySQL 5.6
are available both as a "full" installer and as a "web" installer.
The full installer is significantly larger and comes bundled with
the latest software releases available. This bundle makes it easy
to download and configure a full server and development suite.

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.

For information on installing MySQL 5.6.29 on new servers or upgrading
to MySQL 5.6.29 from previous MySQL releases, please see

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

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

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

Not all mirror sites may be up to date at this point in time, so if you
can't find this version on some mirror, please try again later or choose
another download site.

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

https://wikis.oracle.com/display/mysql/Contributing

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

http://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-29.html

Enjoy!

Changes in MySQL 5.6.29 (2016-02-05)

Packaging Notes

* Packaging support for Ubuntu 15.10 was added. (Bug
#79104, Bug #22147191)

Security Notes

* The linked OpenSSL library for the MySQL Commercial
Server has been updated from version 1.0.1p to version
1.0.1q. Issues fixed in the new version are described at
http://www.openssl.org/news/vulnerabilities.html.
This change does not affect the Oracle-produced MySQL
Community build of MySQL Server, which uses the yaSSL
library instead. (Bug #22348181)

Functionality Added or Changed

* InnoDB: A new InnoDB configuration option, innodb_tmpdir,
allows you to configure a separate temporary file
directory for online ALTER TABLE operations. This option
was introduced to help avoid tmpdir overflows that could
occur as a result of large temporary files created during
online ALTER TABLE operations. innodb_tmpdir is a SESSION
variable and can be configured dynamically using a SET
statement. (Bug #19183565)

* yaSSL was upgraded to version 2.3.9. This upgrade
corrects an issue in which yaSSL handled only cases of
zero or one leading zeros for the key agreement instead
of potentially any number, which in rare cases could
cause connections to fail when using DHE cipher suites.
(Bug #22361038)

* The Valgrind function signature in
mysql-test/valgrind.supp was upgraded for Valgrind 3.11.
(Bug #22214867)

Bugs Fixed

* InnoDB: A small InnoDB buffer pool size with a large
innodb_stats_persistent_sample_pages setting resulted in
a Difficult to find free blocks in the buffer pool
warning. (Bug #22385442)

* InnoDB: Starting the server with an empty
innodb_data_home_dir entry in the configuration file
caused InnoDB to look for the buffer pool file in the
root directory, resulting in a startup error. (Bug
#22016556)

* InnoDB: A full-text query run under high concurrency
caused a server exit due to an invalid memory access.
(Bug #21922532)

* InnoDB: With a large innodb_sort_buffer_size setting,
adding an index on an empty table performed more slowly
than expected. (Bug #21762319, Bug #78262)

* Replication: When DML invokes a trigger or a stored
function that inserts into an AUTO_INCREMENT column, that
DML has to be marked as an unsafe statement. If the
tables are locked in the transaction prior to the DML
statement (for example by using LOCK TABLES), then the
DML statement was not being marked as an unsafe
statement. The fix ensures that such DML statements are
marked correctly as unsafe. (Bug #17047208)

* Replication: As part of the fix for Bug #16290902, when
writing a DROP TEMPORARY TABLE IF EXISTS query into the
binary log, the query is no longer preceded by a USE `db`
statement. Instead the query uses a fully qualified table
name, for example DROP TEMPORARY TABLE IF EXISTS
`db`.`t1`;. This changed the application of
replicate-rewrite-db filter rules, as they work only on
the default database specified in a USE statement. This
caused slaves to fail when the resulting CREATE TEMPORARY
TABLE was applied. The fix ensures that at the time of
writing a DROP TEMPORARY TABLE IF EXISTS query into the
binary log, a check is made for the default database. If
it exists then the query is written as USE default_db in
the binary log. If a default database is not present then
the query is logged with the qualified table name. (Bug
#77417, Bug #21317739)

* Replication: If generating a GTID for a transaction
fails, the transaction is not written to the binary log
but still gets committed. Although running out of GTIDs
is a rare situation, if it did occur an error was written
to the binary log as a sync stage error. With
binlog_error_action=ABORT_SERVER, the server aborts on
such an error, avoiding data inconsistency. When
binlog_error_action=IGNORE_ERROR, the server continues
binary logging after such an error, potentially leading
to data inconsistency between the master and the slave.
The fix changes the error to be correctly logged as a
flush stage error. (Bug #77393, Bug #21276661)

* Replication: When using --gtid-mode=on ,
--enforce-gtid-consistency , and --binlog-format=row, if
a user defined function with multiple DROP TEMPORARY
TABLE statements was executed on a master, the resulting
binary log caused an error on slaves. The fix ensures
that stored functions and triggers are also considered
multi-statement transactions, and that when
--enforce-gtid-consistency is enabled, functions with
CREATE TEMPORARY TABLE or DROP TEMPORARY TABLE statements
generate an
ER_GTID_UNSAFE_CREATE_DROP_TEMPORARY_TABLE_IN_TRANSACTION
error. (Bug #77354, Bug #21253415)

* Replication: Stored procedure local variables that were
used in an ALTER EVENT statement were not being
replicated correctly. This was related to the fact that
CALL statements are not written into the binary log.
Instead each statement executed in a stored procedure is
binary logged separately, with the exception that the
query string is modified so that uses of stored procedure
local variables are replaced with
NAME_CONST('spvar_name', 'spvar-value') calls. DDL
statements (which are always binary logged in statement
binary log mode irrespective of the current binary log
format) can also use stored procedure local variables and
a clash could cause them to not be replicated correctly.
The fix ensures that any stored procedure local variables
used in a query are replaced with NAME_CONST(...), except
for the case when it is a DML query and the binary log
format is ROW. (Bug #77288, Bug #21229951)

* Replication: DROP TABLE statements are regenerated by the
server before being written to the binary log. If a table
or database name contained a non-regular character, such
as non-latin characters, the regenerated statement was
using the wrong name, breaking replication. The fix
ensures that in such a case the regenerated name is
correctly converted back to the original character set.
Also during work on this bug, it was discovered that in
the rare case that a table or database name contained 64
characters, the server was throwing an assert(M_TBLLEN <
128) assertion. The assertion has been corrected to be
less than or equal 128. (Bug #77249, Bug #21205695)
References: See also Bug #78036, Bug #22261585, Bug
#21619371.

* Replication: Irrespective of the current binlog_format
setting, DDL that changes metadata on a master is always
identified and written to the binary log in STATEMENT
format. Such DDL could occur from event based SQL
statements, such as CREATE EVENT or DROP EVENT, or
transactions that had unsafe functions such as sysdate().
When binlog_format=MIXED and attempting to replicate such
DDL, it was not being correctly identified and therefore
was not being correctly replicated. (Bug #71859, Bug
#19286708)

* Inserting a token of 84 4-byte characters into a
full-text index raised an assertion. The maximum token
length was 84 characters up to a maximum of 252 bytes,
which did not account for 4-byte characters. The maximum
byte length is now 336 bytes. (Bug #22291765)

* If a client attempted to use an unsupported client
character set (ucs2, utf16, utf32), the error message
reported to the client differed for SSL and non-SSL
connections. (Bug #22216715)

* Data corruption or a server exit could occur if a stored
procedure had a variable declared as TEXT or BLOB and
data was copied to that variable using SELECT ... INTO
syntax from a TEXT or BLOB column. (Bug #22203532, Bug
#22232332, Bug #21941152)

* CREATE TEMPORARY TABLE .. SELECT statements involving BIT
columns that resulted in a column type redefinition could
cause a server exit or an improperly created table. (Bug
#21902059)

* Added Microsoft Visual Studio 2015 support. Changes
include using the native (added in VS 2015) timespec
library if it exists, renamed lfind/lsearch and
timezone/tzname to avoid redefinition problems, set
TMPDIR to "" by default as P_tmpdir no longer exists,
deprecated std::hash_map in favor of std::unordered_map,
and added Wix Toolset 3.10 support. (Bug #21770366)
References: See also Bug #21657078.

* With character_set_server=utf16le, some values of
ft_boolean_syntax could cause a server exit for full-text
searches. (Bug #21631855)

* With LOCK TABLES in force, an attempt to open a temporary
MERGE table consisting of a view in its list of tables
(not the last table in the list) caused a server exit.
(Bug #20691429)

* For certain prepared statements, the optimizer could
transform join conditions such that it used a pointer to
a temporary table field that was no longer available
after the initial execution. Subsequent executions caused
a server exit. (Bug #19941403)

* Repeated execution of ALTER TABLE v1 CHECK PARTITION as a
prepared statement, where v1 is a view, led to a server
exit.
In addition, output for some administrative operations,
when they are attempted on a view, changes from "Corrupt"
to "Operation failed". These include ANALYZE TABLE,
OPTIMIZE TABLE, and REPAIR TABLE, and ALTER TABLE
statements that perform ANALYZE PARTITION, CHECK
PARTITION, OPTIMIZE PARTITION, and REPAIR PARTITION
operations. (Bug #19817021)

* Valgrind detected some possibly unsafe use of string
functions in code used for asymmetric encryption. (Bug
#19688135)

* SSL connections ignored any change made by passing the
MYSQL_OPT_READ_TIMEOUT option to the mysql_options() C
API function. (Bug #17618162)

* Solaris packages failed to note the dependency of the
MySQL client library on the libstlport library. (Bug
#79778, Bug #22504264)

* Using systemd to start mysqld failed if configuration
files contained multiple datadir lines. Now the last
datadir line is used. (Bug #79613, Bug #22361702)

* If server was started with --thread-handling=no-threads,
no foreground thread was created for a client connection.
The Performance Schema did not account for the
possibility of no foreground threads for queries on the
session_connect_attrs table, causing an assertion to be
raised. (Bug #78292, Bug #21765843)

* ALTER TABLE ... CONVERT TO CHARACTER SET operations that
used the INPLACE algorithm were ineffective if the table
contained only numeric data types. Also, such operations
failed to clean up their temporary .frm file. (Bug
#77554, Bug #21345391)

* Heavy SHOW PROCESSLIST or SELECT ... FROM
INFORMATION_SCHEMA.PROCESSLIST activity could result in
the server accepting more than max_connections
connections. (Bug #75155, Bug #20201006)

* When used with the libmysqld embedded server, the
mysql_stmt_execute() C API function failed with a
malformed communication packet error, even for simple
prepared statements. (Bug #70664, Bug #17883203)

On Behalf of the MySQL/ORACLE RE Team
Hery Ramilison

MySQL Enterprise Monitor 3.1.2 has been released (no replies)

$
0
0
We are pleased to announce that MySQL Enterprise Monitor 3.1.2 is now
available for download on the My Oracle Support (MOS) web site. It
will also be available via the Oracle Software Delivery Cloud with the
February update in a few weeks. MySQL Enterprise Monitor is a
commercial extension to the MySQL family of products.

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.1/en/news-3-1-2.html
(also included at the end of this note for convenience)

You will find binaries for the new release on My Oracle Support:

https://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
in a few weeks:

http://edelivery.oracle.com/

Choose "MySQL Database" as the Product Pack and you will find the
Enterprise Monitor along with other MySQL products.

Version 3.1 adds significant enhancements in the areas of security and
performance tuning. Highlights include:

* New MySQL 5.7 metrics and collections.

* Performance tuning tools to identify I/O hot spots and lock wait
contention. The Database File I/O and Lock Waits reports utilize the
sys schema, which can be installed on the selected instance from
within MySQL Enterprise Monitor.

* Access Control Lists - MySQL Enterprise Monitor 3.1 introduces
Access Control Lists (ACLs) that enable the following functionality
within the monitoring tool:

- Define visibilty: strictly limit access to specific groups of
assets or grant access to all assets.

- Define Roles: rather than define permissions per user, as in
previous releases, permission sets are defined in roles and roles
can be assigned to users.

- Restrict access to sensitive data: grant or deny rights to view
specific types of potentially sensitive data, such as Query
Analyzer data.

- Authenticate using external services: map your users to roles
defined in LDAP or Active Directory.

* Monitoring of MySQL Enterprise Firewall to protect your MySQL
servers from database-specific attacks and receive alerts when a
potential security threat has been identified.

* Monitoring of MySQL Enterprise Audit to enforce your own security
policies and satisfy regulatory compliance with HIPAA, Sarbanes-
Oxley, and the PCI Data Security Standard.

* Bug fixes, enhancement requests and usability improvements were made
throughout the product, including a new Group Editor on the Settings
menu, new User and Roles editors, and customizable graphs on the
Overview dashboard.

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.1 - https://dev.mysql.com/doc/mysql-monitor/3.1/en/mem-comparison-3-1.html
* Change log - http://dev.mysql.com/doc/relnotes/mysql-monitor/3.1/en/
* Installation documentation - http://dev.mysql.com/doc/mysql-monitor/3.1/en/mem-installing.html
* Complete documentation - http://dev.mysql.com/doc/mysql-monitor/3.1/en/
* Product information - http://www.mysql.com/products/enterprise/monitor.html
* FAQs - http://dev.mysql.com/doc/mysql-monitor/3.1/en/mem-faq.html
* Download - http://support.oracle.com/ (available now) or http://edelivery.oracle.com/ (refreshed in a week or so)

Thanks and Happy Monitoring!

- The MySQL Enterprise Tools Development Team

==========

Changes in MySQL Enterprise Monitor 3.1.2

Functionality Added or Changed

* The Agent Transport selector on the MySQL Instance Details filter
was removed in this release. (Bug #22584794)

* Auto-close notifications are now sent only if a previous condition
triggered a notification. If the auto-close is the first condition,
no notifications are sent.

Note: Manually closing an event always triggers a notification.

(Bug #22500665, Bug #22617829)

* The Create Event Handler dialog was redesigned for usability.

* The Connector/J component was upgraded to 5.1.38.

* The OpenSSL library bundled with MySQL Enterprise Monitor has been
upgraded to OpenSSL 1.0.1q.

* As of this release, the agent restarts in the event of an Out Of
Memory error.

* The bundled libcurl library was upgraded to 7.45.

* block_encryption_mode is reported on the Security tab of the
Instance Configuration section of the instance drilldown.

* The MySQL database, bundled with the MySQL Enterprise Service
Manager, has been upgraded to MySQL 5.6.28.

* Deleting a user also closes the active sessions opened by that user.

Bugs Fixed

* The hostname was not displayed in the Unmonitored Instances list if
the mysqld process arguments could not be read.

As of this release, the hostname is displayed even if the process
arguments cannot be read.

* Selecting the Stack display option for some graphs displayed areas
instead of the stacked data.

* Windows 10 Operating Systems were listed as Windows 8.1.

* The contents of the Security advisor category were not displayed if
the thresholds of the MySQL Enterprise Audit Plugin advisor were
edited.

* Graphs of long time ranges were inaccurate if the range was expanded
and reduced. The individual points on the graph represented larger
values than were actually present.

* The Timezone and Locale selection drop-down lists were not displayed
correctly in the Welcome! dialog.

* An error was displayed in the Support Diagnostics report if the
first instance in the selected group used sys schema.

This also occurred if the report was run on a single instance if
that instance used sys schema.

* config.bat did not return a result code. As a result, errors were
not detected by the calling process.

* It was not possible to define a custom backup location in the MySQL
Enterprise Service Manager upgrade installer. The default location
was used regardless of the path defined.

* Some elements of MySQL Enterprise Monitor User Interface were not
displayed correctly in Microsoft internet Explorer.

* The graphed value for free space in the InnoDB Buffer Pool was
incorrectly calculated. It was possible for the free space to be a
negative number.

* Under certain circumstances, a Null Pointer Exception was logged
when the sys schema was installed from the MySQL Enterprise Service
Manager. This exception blocked the installation of the sys schema.

* Dependent permissions were not displayed correctly in Firefox. For
example, if Server Group was set to Administer, MySQL Instances
should also have changed to Administer, automatically, but was not.

MySQL Enterprise Monitor 3.0.26 has been released (no replies)

$
0
0
MySQL Enterprise Monitor 3.0.26 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.0/en/news-3-0-26.html
(also included at the end of this note for convenience)

You will find binaries for the new release on My Oracle Support:

https://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) 3.1 offers many significant
improvements over MEM 3.0 and we highly recommend that you consider
upgrading. More information on MEM 3.1 is available here:

What's New in MySQL Enterprise Monitor 3.1
http://dev.mysql.com/doc/mysql-monitor/3.1/en/mem-comparison-3-1.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/3.1/en/mem-faq.html

MySQL Enterprise Monitor Change History
http://dev.mysql.com/doc/relnotes/mysql-monitor/3.1/en/

More information on MySQL Enterprise and the Enterprise Monitor can be
found here:

http://www.mysql.com/products/enterprise/
http://www.mysql.com/products/enterprise/monitor.html
http://www.mysql.com/products/enterprise/query.html
http://forums.mysql.com/list.php?142

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.

Thanks and Happy Monitoring!

- The MySQL Enterprise Tools Development Team

==========

Changes in MySQL Enterprise Monitor 3.0.26

Functionality Added or Changed

* The Agent Transport selector on the MySQL Instance Details filter
was removed in this release. (Bug #22584794)

* Auto-close notifications are now sent only if a previous condition
triggered a notification. If the auto-close is the first condition,
no notifications are sent.

Note: Manually closing an event always triggers a notification.

(Bug #22500665, Bug #22617829)

* The Connector/J component was upgraded to 5.1.38.

* The OpenSSL library bundled with MySQL Enterprise Monitor has been
upgraded to OpenSSL 1.0.1q.

* The bundled libcurl library was upgraded to 7.45.

* block_encryption_mode is reported on the Security tab of the
Instance Configuration section of the instance drilldown.

* The MySQL database, bundled with the MySQL Enterprise Service
Manager, has been upgraded to MySQL 5.6.29.

Bugs Fixed

* The hostname was not displayed in the Unmonitored Instances list if
the mysqld process arguments could not be read.

As of this release, the hostname is displayed even if the process
arguments cannot be read.

* OS X 10.11 was not reported as Mac OS X El Capitan, but as Unknown.

* Under certain circumstances, the Prepared statements not being used
effectively advisor returned negative results.

* Notifications were not sent for the event handlers associated with
the Filesystem Freespace Advisor. This occurred if the Event
Handler's group was a custom group.

* The MySQL Enterprise Monitor Proxy and Aggregator menu items on the
Windows Start were incorrectly named.

* Windows 10 Operating Systems were listed as Windows 8.1.

* Graphs of long time ranges were inaccurate if the range was expanded
and reduced. The individual points on the graph represented larger
values than were actually present.

* It was not possible to define a custom backup location in the MySQL
Enterprise Service Manager upgrade installer. The default location
was used regardless of the path defined.

* Some elements of MySQL Enterprise Monitor User Interface were not
displayed correctly in Microsoft internet Explorer.

* The graphed value for free space in the InnoDB Buffer Pool was
incorrectly calculated. It was possible for the free space to be a
negative number.

MySQL Router 2.0.3 has been released (no replies)

$
0
0

Dear MySQL users,

A new GA (general availability) version of MySQL Router has
been made available: MySQL Router 2.0.3 GA.

The MySQL Router is a new building block for high availability
solutions. MySQL Router simplifies development of high availability
applications by intelligently routing queries to MySQL Servers
for increased performance, robustness, and uptime.

MySQL Router also connects seamlessly with MySQL Fabric permitting
Fabric to manage the high availability groups for the router,
supporting monitoring and automatic management of MySQL servers
for redundancy and continued operation.

You can download MySQL Router from http://dev.mysql.com/downloads/router.
Package binaries are available for several platforms and also as a
source code download.

If you are a commercial customer, MySQL Router is available via the
MySQL Oracle Support (MOS) website. Packages will be available on
eDelivery at the next monthly refresh.

Documentation for MySQL Router can be found at
http://dev.mysql.com/doc/mysql-router/en/

Enjoy!

Changes in MySQL Router 2.0.3 (2016-03-03)

   Functionality Added or Changed

     * Support was added for Solaris 11.2 and above, Fedora 22
       and above, and OS X 10.10 and above. (Bug #22842993)

     * Two new connection routing options were added:

          + max_connect_errors: similar to MySQL Server's
          max_connect_errors option, and defaults to 100

          + client_connect_timeout: similar to MySQL Server's
          connect_timeout option, and defaults to 9 (1 second less than
          MySQL Server's default) (Bug #22020088)

   Bugs Fixed

     * A configuration that contained empty destination values,
       such as "destinations=test,,,,", would cause Router to terminate
       with an uncaught exception. This condition now emits an error,
       such as "Configuration error: option destinations in
       [routing:foo]: empty address found in destination list". (Bug
       #22579989)

     * In certain network setups, for example when connected to
       a VPN, routing could fail starting with the error "Operation not
       supported". Error handling was added when setting up the service,
       which raises or logs errors. (Bug #22531942, Bug #79933)

     * Starting Router without plugins (or a defined strategic
       plan) now emits a descriptive error that references the lack of
       plugins. For example, loading an empty configuration file now
       exits with an error. (Bug #22195343)

     * Plugins now have access to the URI class, and
       mysqlrouter::split_string was added. (Bug #22134596)

     * A destinations configuration length of more than 256
       characters would cause Router to hang. (Bug #22104451)

     * In some cases, the IPv6 address missed the square
       brackets around the IP address. For example, "[::]:7002" could be
       reported as ":::7002"; (Bug #22084430, Bug #78921)

     * The --help text now outputs the MySQL Router version
       number. (Bug #22074209)

     * Added a lock_guard when checking whether a server is
       quarantined or not, to prevent changes to the quarantine vector
       with reads. (Bug #22071169)

     * Starting Router with spaces between the destination
       server addresses would report a configuration error. Now,
       whitespace is trimmed from the server addresses. (Bug #22062859)

     * Uninstalling MySQL Router (dpkg -r mysql-router) left
       extra files behind. Now, only the configuration files remain.
       (Bug #22025434)

     * When MySQL clients connected to Router and the configured
       backends were not available, the generated error (such as "ERROR
       2013 (HY000): Lost connection to MySQL server at 'reading initial
       communication packet', system error: 0" was unclear.  Now, when
       none of the backend servers are available, the client receives a
       message similar to those generated when MySQL clients connect to
       a host/port pair where MySQL Server is not running. For example,
       "ERROR 2003 (HY000): Can't connect to MySQL server on '127.0.0.1'
       (61)". (Bug #22020711, Bug #78836)

     * When a client connected through Router, and it did not
       finish handshaking (or did it incorrectly), it would generate an
       error on the MySQL Server. For MySQL 5.6 and 5.7, after 100 times
       it would block the host where this clients came from. Because all
       clients appear as though they come from the same IP/Host in
       Router, one client misbehaving could have potentially blocked all
       other applications.  This only affected connections coming from
       the network and not from localhost, because MySQL Server does not
       register connection errors when connections come from localhost.
       A workaround was to use localhost (meaning, MySQL Server on the
       same host as Router), or to set the max_connect_errors option to
       the highest possible value (on 64-bit this is 2^64). (Bug
       #22020088, Bug #78835)

     * Several code improvements were made that were discovered
       from Valgrind generated reports. (Bug #21983406, Bug #78805)

     * There was a memory leak in the fabric cache plugin. (Bug
       #21981758)


On behalf of Oracle MySQL Release Team
Balasubramanian Kandasamy

MySQL Enterprise Monitor 3.1.3 has been released (no replies)

$
0
0
We are pleased to announce that MySQL Enterprise Monitor 3.1.3 is now
available for download on the My Oracle Support (MOS) web site. It
will also be available via the Oracle Software Delivery Cloud with the
February update in a few weeks. MySQL Enterprise Monitor is a
commercial extension to the MySQL family of products.

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.1/en/news-3-1-3.html
(also included at the end of this note for convenience)

You will find binaries for the new release on My Oracle Support:

https://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
in a few weeks:

http://edelivery.oracle.com/

Choose "MySQL Database" as the Product Pack and you will find the
Enterprise Monitor along with other MySQL products.

Version 3.1 adds significant enhancements in the areas of security and
performance tuning. Highlights include:

* New MySQL 5.7 metrics and collections.

* Performance tuning tools to identify I/O hot spots and lock wait
contention. The Database File I/O and Lock Waits reports utilize the
sys schema, which can be installed on the selected instance from
within MySQL Enterprise Monitor.

* Access Control Lists - MySQL Enterprise Monitor 3.1 introduces
Access Control Lists (ACLs) that enable the following functionality
within the monitoring tool:

- Define visibilty: strictly limit access to specific groups of
assets or grant access to all assets.

- Define Roles: rather than define permissions per user, as in
previous releases, permission sets are defined in roles and roles
can be assigned to users.

- Restrict access to sensitive data: grant or deny rights to view
specific types of potentially sensitive data, such as Query
Analyzer data.

- Authenticate using external services: map your users to roles
defined in LDAP or Active Directory.

* Monitoring of MySQL Enterprise Firewall to protect your MySQL
servers from database-specific attacks and receive alerts when a
potential security threat has been identified.

* Monitoring of MySQL Enterprise Audit to enforce your own security
policies and satisfy regulatory compliance with HIPAA, Sarbanes-
Oxley, and the PCI Data Security Standard.

* Bug fixes, enhancement requests and usability improvements were made
throughout the product, including a new Group Editor on the Settings
menu, new User and Roles editors, and customizable graphs on the
Overview dashboard.

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.1 - https://dev.mysql.com/doc/mysql-monitor/3.1/en/mem-comparison-3-1.html
* Change log - http://dev.mysql.com/doc/relnotes/mysql-monitor/3.1/en/
* Installation documentation - http://dev.mysql.com/doc/mysql-monitor/3.1/en/mem-installing.html
* Complete documentation - http://dev.mysql.com/doc/mysql-monitor/3.1/en/
* Product information - http://www.mysql.com/products/enterprise/monitor.html
* FAQs - http://dev.mysql.com/doc/mysql-monitor/3.1/en/mem-faq.html
* Download - http://support.oracle.com/ (available now) or http://edelivery.oracle.com/ (refreshed in a week or so)

Thanks and Happy Monitoring!

- The MySQL Enterprise Tools Development Team

==========

Changes in MySQL Enterprise Monitor 3.1.3

Functionality Added or Changed

* The sys-related information presented on the Database File I/O and
Lock Waits reports now includes a link to the sys schema GitHub
repository. (Bug #22540573)

* It is now possible to pause the page refresh using the pause button
adjacent to the Refresh drop-down list.

Note: The pause is temporary. If the page is manually refreshed, the
pause is cancelled and the defined refresh behavior resumes.

To resume the defined page refresh, click the button again.

Also in this release, 5, 10, and 30 second refresh options were
added to the Refresh drop-down list.

* The MySQL database, bundled with the MySQL Enterprise Service
Manager, has been upgraded to MySQL 5.6.29.

* The openSSL libraries, delivered with the MySQL Enterprise Monitor
Proxy and Aggregator have been upgraded to 1.0.1r.

Bugs Fixed

* If MySQL Enterprise Service Manager installed sys schema to a
replication master, the sys installation was propaagated to the
replica instances. If the replica instance already used sys,
replication stopped with an error.

As of this release, if sys is installed on a master instance, it is
not propagated to the replicas. (Bug #22807490)

* It was not possible to upgrade MySQL Enterprise Service Manager from
2.3.x to 3.1.x if the 2.3 installation of Tomcat was not configured
to use SSL. (Bug #22759744)

* The data in the sys schema-related reports did not refresh. (Bug
#22750089)

* Monitoring a slow filesystem could result in gaps in other OS
collections, such as CPU usage, affecting the OS-related graphs.

As of this release, filesystem collections are performed
independently of CPU and RAM usage collections.

Note: Filesystem-related collection can still be affected by slow
filesystem performance.

(Bug #21459378)

* It was not possible for MySQL Enterprise Monitor Agent 2.3.x to
communicate with a MySQL Enterprise Service Manager 3.1.x.

MySQL Cluster 7.5.1 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.5.1 DMR can be downloaded from the "Development
Releases" tab at

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

As with any other pre-production release, caution should be taken when
installing on production level systems or systems with critical data.
More information on the Development Milestone Release process can be
found at

http://dev.mysql.com/doc/mysql-development-cycle/en/development-milestone-releases.html

More details can be found at

  http://www.mysql.com/products/cluster/

Enjoy !

Changes in MySQL Cluster NDB 7.5.1 (5.7.11-ndb-7.5.1) (2016-03-18,
Developer Milestone 2)

   MySQL Cluster NDB 7.5.1 is a new release of MySQL 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 MySQL
   Cluster releases.

   Obtaining MySQL Cluster NDB 7.5.  MySQL Cluster NDB 7.5 source code
   and binaries can be obtained from
   http://dev.mysql.com/downloads/cluster/.

   For an overview of changes made in MySQL Cluster NDB 7.5, see What is
   New in MySQL Cluster NDB 7.5
   (http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-what-is-new.html).

   This release also incorporates all bugfixes and changes made in
   previous MySQL Cluster releases, as well as all bugfixes and feature
   changes which were added in mainline MySQL 5.7 through MySQL 5.7.11
   (see Changes in MySQL 5.7.11 (2016-02-05)
   (http://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-11.html)).

   Functionality Added or Changed

     * Scans have been improved by replacing the
       DIH_SCAN_GET_NODES_REQ signal, formerly used for communication
       between the DBTC and DBDIH kernel blocks in NDB
       (http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster.html),
       with the DIGETNODESREQ signal, which supports direct execution
       and allows for the elimination of DIH_SCAN_GET_NODES_REF and
       DIH_SCAN_GET_NODES_CONF, as well as for DIH_SCAN_TAB_REQ and
       DIH_SCAN_TAB_COMPLETE_REP signals to EXECUTE_DIRECT. This enables
       enable higher scalability of data nodes when used for scan
       operations by decreasing the use of CPU resources for scan
       operations by an estimated five percent in some cases. This
       should also improve response times, which could help prevent
       issues with overload of the main threads.  As part of these
       changes, scans made in the BACKUP kernel block have also been
       improved and made more efficient.  References: See also Bug
       #80640, Bug #22884995.

     * The following improvements have been made to event buffer
       reporting in the cluster log:

          + Each report now identifies the API node that sent it.

          + The fields shown in the report have been improved and
          expanded. Percentages are now better specified and used only
          when appropriate. For improved clarity, the apply_epoch and
          latest_epoch fields have been renamed to latest_consumed_epoch
          and latest_buffered_epoch, respectively. The ID of the Ndb
          (http://dev.mysql.com/doc/ndbapi/en/ndb-ndb.html) object
          serving as the source of the report is now shown, as is the
          reason for making the report (as the report_reason field).

          + The frequency of unnecessary reporting has been reduced by
          limiting reports to those showing only significant changes in
          event buffer usage.

          + The MGM API adds a new NDB_LE_EventBufferStatus2 event type
          to handle the additional information provided by the new event
          buffer reporting. The NDB_LE_EventBufferStatus event type used
          in older versions of MySQL Cluster is now deprecated, and will
          eventually be removed.  For more information, see Event Buffer
          Reporting in the Cluster Log
          (http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-logs-event-buffer.html),
          as well as The ndb_logevent Structure
          (http://dev.mysql.com/doc/ndbapi/en/mgm-ndb-logevent.html).

   Bugs Fixed

     * Important Change: The minimum value for the BackupDataBufferSize
       (http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-ndbd-definition.html#ndbparam-ndbd-backupdatabuffersize)
       data node configuration parameter has been lowered from 2 MB to 512 KB.
       The default and maximum values for this parameter remain unchanged.
       (Bug #22749509)

     * During node failure handling, the request structure used
       to drive the cleanup operation was not maintained correctly when
       the request was executed. This led to inconsistencies that were
       harmless during normal operation, but these could lead to
       assertion failures during node failure handling, with subsequent
       failure of additional nodes. (Bug #22643129)

     * The previous fix for a lack of mutex protection for the
       internal TransporterFacade::deliver_signal() function was found
       to be incomplete in some cases. (Bug #22615274) References: This
       bug was introduced by Bug #77225, Bug #21185585.

     * When setup of the binary log as an atomic operation one
       one SQL node failed, this could trigger a state in other SQL
       nodes in which they appeared to detect the SQL node participating
       in schema change distribution, whereas it had not yet completed
       binary log setup. This could in turn cause a deadlock on the
       global metadata lock when the SQL node still retrying binary log
       setup needed this lock, while another mysqld had taken the lock
       for itself as part of a schema change operation. In such cases,
       the second SQL node waited for the first one to act on its schema
       distribution changes, which it was not yet able to do. (Bug
       #22494024)

     * Duplicate key errors could occur when ndb_restore was run
       on a backup containing a unique index. This was due to the fact
       that, during restoration of data, the database can pass through
       one or more inconsistent states prior to completion, such an
       inconsistent state possibly having duplicate values for a column
       which has a unique index.  (If the restoration of data is
       preceded by a run with --disable-indexes
       (http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-programs-ndb-restore.html#option_ndb_restore_disable-indexes)
       and followed by one with --rebuild-indexes
       (http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-programs-ndb-restore.html#option_ndb_restore_rebuild-indexes),
       these errors are avoided.) Added a check for unique indexes in the
       backup which is performed only when restoring data, and which
       does not process tables that have explicitly been excluded. For
       each unique index found, a warning is now printed. (Bug
       #22329365)

     * When setting up event logging for ndb_mgmd on Windows,
       MySQL Cluster tries to add a registry key to HKEY_LOCAL_MACHINE,
       which fails if the user does not have access to the registry. In
       such cases ndb_mgmd logged the error Could neither create or open
       key, which is not accurate and which can cause confusion for
       users who may not realize that file logging is available and
       being used. Now in such cases, ndb_mgmd logs a warning Could not
       create or access the registry key needed for the application to
       log to the Windows EventLog. Run the application with sufficient
       privileges once to create the key, or add the key manually, or
       turn off logging for that application. An error (as opposed to a
       warning) is now reported in such cases only if there is no
       available output at all for ndb_mgmd event logging. (Bug
       #20960839)

     * NdbDictionary
       (http://dev.mysql.com/doc/ndbapi/en/ndb-ndbdictionary.html)
       metadata operations had a hard-coded 7-day timeout, which proved
       to be excessive for short-lived operations such as retrieval of
       table definitions. This could lead to unnecessary hangs in user
       applications which were difficult to detect and handle correctly.
       To help address this issue, timeout behaviour is modified so that
       read-only or short-duration dictionary interactions have a
       2-minute timeout, while schema transactions of potentially long
       duration retain the existing 7-day timeout.  Such timeouts are
       intended as a safety net: In the event of problems, these return
       control to users, who can then take corrective action. Any
       reproducible issue with NdbDictionary timeouts should be reported
       as a bug. (Bug #20368354)

     * Optimization of signal sending by buffering and sending
       them periodically, or when the buffer became full, could cause
       SUB_GCP_COMPLETE_ACK signals to be excessively delayed. Such
       signals are sent for each node and epoch, with a minimum interval
       of TimeBetweenEpochs
       (http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-ndbd-definition.html#ndbparam-ndbd-timebetweenepochs);
       if they are not received in time, the SUMA buffers can overflow
       as a result. The overflow caused API nodes to be disconnected, leading
       to current transactions being aborted due to node failure. This
       condition made it difficult for long transactions (such as
       altering a very large table), to be completed. Now in such cases,
       the ACK signal is sent without being delayed. (Bug #18753341)

     * MySQL Cluster did not compile correctly with Microsoft
       Visual Studio 2015, due to a change from previous versions in the
       VS implementation of the _vsnprintf() function. (Bug #80276, Bug
       #22670525)

     * When setting CPU spin time, the value was needlessly cast
       to a boolean internally, so that setting to it any nonzero value
       yielded an effective value of 1. This issue, as well as the fix
       for it, apply both to setting the SchedulerSpinTimer
       (http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-ndbd-definition.html#ndbparam-ndbd-schedulerspintimer)
       parameter and to setting spintime as part of a ThreadConfig
       (http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-ndbd-definition.html#ndbparam-ndbmtd-threadconfig)
       parameter value. (Bug #80237, Bug #22647476)

     * Processing of local checkpoints was not handled correctly
       on Mac OS X, due to an uninitialized variable. (Bug #80236, Bug
       #22647462)

     * A logic error in an if statement in
       storage/ndb/src/kernel/blocks/dbacc/DbaccMain.cpp rendered
       useless a check for determining whether ZREAD_ERROR should be
       returned when comparing operations.  This was detected when
       compiling with gcc using -Werror=logical-op. (Bug #80155, Bug
       #22601798) References: This bug was introduced by Bug #21285604.

     * Suppressed a CMake warning that was caused by use of an
       incorrectly quoted variable name. (Bug #80066, Bug #22572632)

     * When using CREATE INDEX
       (http://dev.mysql.com/doc/refman/5.7/en/create-index.html) to add
       an index on either of two NDB
       (http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster.html)
       tables sharing circular foreign keys, the query succeeded but a
       temporary table was left on disk, breaking the foreign key
       constraints. This issue was also observed when attempting to
       create an index on a table in the middle of a chain of foreign
       keys---that is, a table having both parent and child keys, but on
       different tables. The problem did not occur when using ALTER
       TABLE (http://dev.mysql.com/doc/refman/5.7/en/alter-table.html)
       to perform the same index creation operation; and subsequent
       analysis revealed unintended differences in the way such
       operations were performed by CREATE INDEX.  To fix this problem,
       we now make sure that operations performed by a CREATE INDEX
       statement are always handled internally in the same way and at
       the same time that the same operations are handled when performed
       by ALTER TABLE or DROP INDEX
       (http://dev.mysql.com/doc/refman/5.7/en/drop-index.html). (Bug
       #79156, Bug #22173891)

     * The PortNumber SCI, SHM, and TCP configuration
       parameters, which were deprecated in MySQL 5.1.3, have now been
       removed and are no longer accepted in configuration files. This
       change does not affect the PortNumber
       (http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-mgm-definition.html#ndbparam-mgmd-portnumber)
        management node configuration parameter, whose behavior remains
        unaltered. (Bug #77405, Bug #21280456)

     * Compilation of MySQL with Visual Studio 2015 failed in
       ConfigInfo.cpp, due to a change in Visual Studio's handling of
       spaces and concatenation.

     * For busy servers, client connection or communication
       failure could occur if an I/O-related system call was
       interrupted. The mysql_options()
       (http://dev.mysql.com/doc/refman/5.7/en/mysql-options.html)
       C API function now has a MYSQL_OPT_RETRY_COUNT option to control
       the number of retries for interrupted system calls. (Bug
       #22336527) References: See also Bug #22389653.


On behalf of the MySQL Release Team,
Balasubramanian Kandasamy

MySQL Connector/ODBC 5.3.6 has been released (no replies)

$
0
0
Dear MySQL users,

MySQL Connector/ODBC 5.3.6, 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 onward.

This is the third 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).

Also, Connector/ODBC 5.3 introduces a GTK+-based setup library
providing a GUI DSN setup dialog on some Unix-based systems, currently
included in the Oracle Linux 6 and Debian 6 binary packages. Other new
features in the 5.3 driver are FileDSN and Bookmarks support.

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/refman/5.6/en/connector-odbc-installation.html

Enjoy!

The MySQL Connectors team at Oracle


Changes in MySQL Connector/ODBC 5.3.6 (2016-03-17)

   Security Notes

     * Security Fix: The linked OpenSSL library for
       Connector/ODBC Commercial 5.3.6 has been updated from
       version 1.0.1m to version 1.0.1q. Versions of OpenSSL
       prior to 1.0.1q are reported to be vulnerable to
       CVE-2015-3195 
       (http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-3195).
       This change does not affect the Oracle-produced MySQL
       Community build of Connector/ODBC 5.3.6, which uses the
       yaSSL library instead. (CVE-2015-3195)

   Functionality Added or Changed

     * Two new option parameters, DISABLE_SSL_DEFAULT and
       SSL_ENFORCE, have been introduced for specifying whether
       the default requirement to use SSL connections is to be
       followed. See Connector/ODBC Option Parameters
       (http://dev.mysql.com/doc/connector-odbc/en/connector-odb
    	c-configuration-connection-parameters.html#codbc-dsn-opti
	on-flags) for details. (Bug #21027928)

   Bugs Fixed

     * The function MySQLGetPrivateProfileStringW() used
       malloc() to allocate memory and then xfree() to free the
       allocated memory for a returned value. That caused some
       issues when certain third-party versions of MySQL client
       library (like MariaDB 10.x) was used. The issues have
       been fixed by replacing malloc() with my_malloc(). (Bug
       #21074676, Bug #76984)

     * Attempt to build Connector/ODBC from source on a Linux
       platform against the client library and header files
       shipped with MySQL server 5.7.6 or newer failed. It was
       due to the changes made to the client library and the
       header files, to which Connector/ODBC has now been
       adapted. (Bug #20685833)

     * An application that used ActiveX Data Objects (ADO) and
       the Connector/ODBC ANSI driver hung after trying to write
       French characters to a database that used the UTF-8
       character set. (Bug #20526062)

     * Calling the SQLGetDiagField function with the
       DiagIdentifier SQL_DIAG_ROW_COUNT always returned "0,"
       even if there were updated, deleted, or modified rows.
       (Bug #16920750)

     * Because Connector/ODBC did not parse comments properly,
       the parameter markers embedded in comments caused the
       complaint that SQLBindParameter was not used for all
       parameters. (Bug #16613308, Bug #53891)


On behalf on the MySQL RE Team.

MySQL Utilities 1.6.3 BETA has been released (no replies)

$
0
0
Dear MySQL users,

This is the BETA release for Utilities 1.6. MySQL Utilities version 1.6.3
is compatible with MySQL Server versions 5.5 and greater. Python v2.6 and
v2.7 are supported.
MySQL Utilities v1.6.3 BETA is available for download from

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

A brief summary of changes is listed below. Please check the CHANGES.txt
file inside the distribution for a more complete list of changes.

MySQL Utilities provides a collection of command-line utilities that are
used for maintaining and administering MySQL servers, including:
• Admin Utilities (Clone, Copy, Compare, Diff, Export, Import,
User Management)
• Replication Utilities (Setup, Configuration, Verification)
• General Utilities (Disk Usage, Redundant Indexes, Manage Meta &
Audit Data)
• And more

Changes in MySQL Utilities 1.6.3 (2016-03-22)

Bugs Fixed

* The --exclude option for the mysqldbexport command did
not function. (Bug #22781266)

* The mysqlfailover and mysqlrpladmin utilities did not
function with MySQL 5.7 Servers. During the failover
process, they failed with the following error: "Errors:
Missing gtid_executed system variable." (Bug #22617526,
Bug #80189)

* The mysqlrplsync and mysqldbcopy utilities did not
function with MySQL 5.7 when used in a topology with a
master. The problem was due to table locking, and began
occurring when session_variables was moved to
PERFORMANCE_SCHEMA in MySQL 5.7.6. The master UUID is now
retrieved before locking the tables. (Bug #22608528, Bug
#22628187, Bug #80200)

* Several man pages were missing from the RPM package. (Bug
#21905774, Bug #78580)

* The mysqldbcompare utility now checks if MySQL servers
are aliases. (Bug #21845449, Bug #78446)

* Using the mysqlauditgrep utility with the --format option
would throw an exception when the audit log file
contained Unicode characters, and when the format was
changed to something other than the default RAW. The
error looked similar to "UnicodeEncodeError: 'ascii'
codec can't encode characters in position". (Bug
#21841353)

* With the mysqldbcompare utility, using the same
connection information for both --server1 and --server2
with the --all option would raise an AttributeError
error. (Bug #21839348, Bug #78439)

* The mysqldbexport utility's --exclude option was ignored
for data when passing in either the data or both value.
(Bug #21784538)

* Several utilities (the daemon utilities, mysqlfailover,
and mysqlrplms) created pid files with the default
permissions on *nix systems (0777). The permissions are
now more restrictive. (Bug #21653496)

* MySQL Utilities failed to execute when the sql_mode
option included "ANSI_QUOTES". (Bug #21653352, Bug
#78132)

* Executing the mysqldbcompare utility to find differences
between two databases on different hosts could fail with
an error similar to "Unread result found". (Bug
#21572065, Bug #73841)

* The MySQL utilities did not function with .mylogin.cnf as
of MySQL Server 5.6.25. (Bug #21343759, Bug #77550)

* The Windows MSI 64-bit package, by default, installed in
"Program Files (x86)\" on a 64-bit system, instead of
"Program Files\". (Bug #20876820)

* The mysqldiskusage utility incorrectly calculated disk
usage, leading to an inaccurate result. (Bug #76703)

Reporting Bugs
--------------
We welcome and appreciate your feedback and bug reports:
http://bugs.mysql.com/

Enjoy!

On Behalf of the MySQL/ORACLE RE Team
Hery Ramilison


MySQL Community Server 5.5.49 has been released (no replies)

$
0
0
Dear MySQL users,

MySQL Server 5.5.49 is a new version of the 5.5 production release of
the world's most popular open source database. MySQL 5.5.49 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. 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:

MySQL 5.5 is GA, Interview with Tomas Ulin:

  http://dev.mysql.com/tech-resources/interviews/thomas-ulin-mysql-55.html

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.49 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.49 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 section 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-49.html

Enjoy!

Changes in MySQL 5.5.49 (2016-04-11)


   Security Notes

     * MySQL client programs now support an --ssl-mode option
       that enables you to specify the security state of the connection
       to the server. The default value is DISABLED (establish an
       unencrypted connection).  --ssl-mode=REQUIRED) can be specified
       to require a secure connection, or fail if a secure connection
       cannot be obtained.  These clients support --ssl-mode: mysql,
       mysqladmin, mysqlcheck, mysqldump, mysqlimport, mysqlshow,
       mysqlpump, mysqlslap, mysqltest, mysql_upgrade.  For more
       information, see Command Options for Secure Connections
       (http://dev.mysql.com/doc/refman/5.5/en/secure-connection
       -options.html).

   Bugs Fixed

     * InnoDB: Running REPLACE operations on multiple
       connections resulted in a hang. (Bug #22530768, Bug #79185)

     * MySQL did not build with GCC 5. (Bug #22680706)

     * The System-V initialization script for RHEL6 or older
       failed to enable the mysqld service by default. (Bug #22600974)

     * Improper host name checking in X509 certificates could
       permit man-in-the-middle attacks. (Bug #22295186, Bug #22738607)

     * A boolean mode full-text search caused a segmentation
       fault. (Bug #22176795)

     * Concurrent selecting and flushing of a FEDERATED table
       while killing connections accessing it could result in a server
       exit. (Bug #21918190)

     * Executing GRANT PROXY statements after altering the
       definition of the mysql.user system table could result in a
       server exit. (Bug #21699037)

     * Certain error messages included part of the SQL statement
       that produced them, possibly exposing data. (Bug #21682356)

     * Character set conversion operations on NULL parameters to
       prepared statements could cause a server exit. (Bug #18823979)

     * For INSERT and UPDATE operations that caused FOREIGN KEY
       constraint violations, errors were reported rather than warnings
       when the IGNORE keyword was used. (Bug #78853, Bug #22037930)

     * Processlist state information was not updated correctly
       for LOAD DATA INFILE and could show a state different from
       executing. (Bug #69375, Bug #16912362)

On behalf of Oracle MySQL Release Engineering Team,
Nawaz Nazeer Ahamed

MySQL Community Server 5.7.12 has been released (no replies)

$
0
0
Dear MySQL users,

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

Starting with MySQL Server 5.7.12, we are introducing the concept of
Rapid Plugins. Out of the box, 5.7.12 follows the same stability promise
as our current release process, but it also allows for plugins with
additional functionality to be installed very easily. The first plugin
to be released with MySQL Server 5.7.12 following this concept is the
new X Plugin, which exposes a new communications protocol called the X
Protocol. The expanded capabilities of the X Protocol enable us to
provide the new X DevAPI in our MySQL Connectors and Client
applications, like the new MySQL Shell. The goal of the X DevAPI is to
support a new schema object type called document collections as well as
relational and combined document store/relational capabilities. Now
developers, designers and DBAs can deploy MySQL databases that implement
document store, relational, or hybrid document/relation models. For
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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Enjoy!


==============================================================================
Changes in MySQL 5.7.12 (2016-04-11)


     * Configuration Notes

     * Security Notes

     * Functionality Added or Changed

     * Bugs Fixed

   Configuration Notes

     * Incompatible Change: To load a keyring plugin, the
       --early-plugin-load option is used. Previously, the
       default --early-plugin-load option value was the name of
       the keyring_file plugin library file. Now the default
       value is empty.
       Important
       InnoDB tablespace encryption requires the keyring_file
       plugin to be loaded prior to InnoDB initialization, so
       this change of default --early-plugin-load value
       introduces an incompatibility for upgrades from 5.7.11 to
       5.7.12 or higher. Administrators who have encrypted
       InnoDB tablespaces must take explicit action to ensure
       continued loading of the keyring_file plugin: Start the
       server with an --early-plugin-load option that names the
       plugin library file. For example, on platforms where the
       plugin library file suffix is .so, use these lines in the
       server my.cnf file:
[mysqld]
early-plugin-load=keyring_file.so

       On other platforms, adjust the file name suffix as
       necessary. For more information, see The MySQL Keyring
       (http://dev.mysql.com/doc/refman/5.7/en/keyring.html).
       (Bug #80413, Bug #22748738)

   Security Notes

     * InnoDB: The InnoDB tablespace encryption feature, which
       provides at-rest data encryption for InnoDB tables, now
       supports Oracle Key Vault for encryption key management.
       Oracle Key Vault support relies on the keyring_okv plugin
       which is available in MySQL Enterprise Edition. A secure
       and robust encryption key management solution such as OKV
       is critical for security and for compliance with various
       security standards. For more information, see InnoDB
       Tablespace Encryption
 (http://dev.mysql.com/doc/refman/5.7/en/innodb-tablespace-encryption.html).

     * The linked OpenSSL library for the MySQL Commercial
       Server has been updated to version 1.0.1s. Issues fixed
       in the new version are described at
       http://www.openssl.org/news/vulnerabilities.html.
       This change does not affect the Oracle-produced MySQL
       Community build of MySQL Server, which uses the yaSSL
       library instead. (Bug #22685885, Bug #22923458)

     * MySQL Enterprise Edition now includes a keyring_okv
       plugin that uses Oracle Key Vault for keyring backend
       storage. For more information, see The MySQL Keyring
       (http://dev.mysql.com/doc/refman/5.7/en/keyring.html).

   Functionality Added or Changed

     * X Plugin: Exposes new communication protocol called the X
       Protocol. For more information, see 
       http://dev.mysql.com/worklog/task/?id=8338

     * X Protocol: Enables to provide the new X DevAPI in MySQL
       Connectors and Client applications, like the new MySQL Shell.
       Support a new schema object type called document collections as
       well as relational and combined document store/relational
       capabilities. For more information, see
       http://dev.mysql.com/worklog/task/?id=8639

     * For queries with many OR conditions, the optimizer now is
       more memory-efficient and less likely to exceed the
       memory limit imposed by the range_optimizer_max_mem_size
       system variable. In addition, the default value for that
       variable has been raised from 1536000 to 8388608. (Bug
       #79450, Bug #22283790)

   Bugs Fixed

     * InnoDB; Partitioning: INSERT and SELECT statements
       against a partitioned InnoDB table having generated
       columns were not always handled correctly. (Bug
       #22444530)
       References: See also Bug #21776494, Bug #21824564, Bug
       #21864838.

     * InnoDB: An error was returned on startup when a
       replication slave attempted to access an encrypted table.
       The server UUID used to compose the master key name was
       not persisted to the tablespace data file, resulting in
       the use of an incorrect master key. (Bug #22912582)

     * InnoDB: In debug builds, an unnecessary buf_block_align()
       call could cause a latching order violation. A DML
       operation resulted in a page mismatch assertion due to
       the same buf_block_align() call. (Bug #22709463, Bug
       #21321238)

     * InnoDB: An ALTER TABLE ... ADD COLUMN operation on a
       table with virtual columns raised an assertion. (Bug
       #22650296)

     * InnoDB: An unnecessary comparison in tablespace
       encryption code caused compiler warnings. (Bug #22645816)

     * InnoDB: INNODB_SYS_TABLESPACES could report incorrect
       ALLOCATED_SIZE and FILE_SIZE values for a general
       tablespace created outside of the data directory. The
       i_s_dict_fill_sys_tablespaces() function generated an
       incorrect remote file path. (Bug #22590095, Bug #80070)

     * InnoDB: In debug builds, an update operation on a table
       with virtual columns raised an assertion. (Bug #22572997)

     * InnoDB: Modifications were made to InnoDB code to handle
       warnings when compiling with Microsoft Visual Studio
       2015. (Bug #22542547, Bug #79964)

     * InnoDB: Running REPLACE operations on multiple
       connections resulted in a hang. (Bug #22530768, Bug
       #79185)

     * InnoDB: Tabespace encryption-related operations resulted
       in a hang on FreeBSD. (Bug #22520464, Bug #79901)

     * InnoDB: MySQL stalled when syncing the InnoDB full-text
       index cache. (Bug #22516559, Bug #16510576, Bug #73816)

     * InnoDB: A CREATE TABLE ... DATA DIRECTORY operation
       failed to create a table while innodb_flush_method was
       set to O_DIRECT. (Bug #22180006, Bug #79200)
       References: This bug is a regression of Bug #21113036.

     * InnoDB: In debug builds, a buffer pool resizing operation
       resulted in a segmentation violation. The
       buf_pool_resizing variable was not protected. (Bug
       #22179317)

     * InnoDB: The innodb_open_files setting could exceed the
       open files limit. (Bug #22111472)

     * InnoDB: InnoDB attempted crc32 checksum validation
       instead of innodb after a crc32 checksum validation
       failure, causing repeated crc32 checksum validation
       attempts. Checksum validation order is now optimized
       dynamically.
       Thanks to Daniel Black for the patch. (Bug #79725, Bug
       #22452597)

     * Replication: The recovery channel must be set using the
       CHANGE MASTER command, and the plugin will not set
       default values for the user or password fields in CHANGE
       MASTER. The server side recovery channel is restricted to
       MASTER_USER and MASTER_PASSWORD, whereas all other
       settings for the change master are added on the plugin
       side, as done previously. Attempting to use other values
       will emit ER_SLAVE_CHANNEL_OPERATION_NOT_ALLOWED errors.
       The password value used on CHANGE MASTER commands for the
       recovery channel is not logged as plain text in any log
       or history files. Also, at the end of recovery, the
       plugin no longer resets info objects, but does continue
       to purge the logs. (Bug #22815932)

     * Replication: When a binlog-less slave connected to a GR
       master, it failed with "Error running query" in the error
       log. But, there was no information available in "SHOW
       SLAVE STATUS" or
       P_S.replication_applier_status_by_worker. (Bug #22699395)

     * Replication: Setting the relay log recovery to 1 could
       generate an error during recovery. Once the relay log
       recovery happened, repositories were not initiated and
       the server reported an error related to this. Also,
       attempting to execute "START GROUP_REPLICATION" in this
       situation could cause a crash. To fix this, the recovery
       procedure will no longer take the
       group_replication_channel into consideration. It now
       skips the relay logs of the GR channel to proceed
       further. (Bug #22523554)

     * Replication: Issuing STOP SLAVE caused a spurious Error
       reading packet from server: Lost connection to MySQL
       server during query message to be written to the error
       log. With this fix, when connection to the master is
       lost, the abort_slave flag is checked and the error
       message is printed only if the flag is not set. (Bug
       #22305605, Bug #79504)
       References: See also Bug #12977988, Bug #22290309.

     * Replication: When binlog was disabled, the GTID specified
       by GTID_NEXT when committing an empty transaction caused
       by a 'BEGIN' command was being saved into
       GLOBAL@gtid_executed when it should not have been.
       However, when binlog was enabled, the same situation did
       not save it.
       Now, when "@@SESSION.GTID_NEXT == 'UUID:NUMBER'", the
       'BEGIN' command causes an
       'ER_CANT_DO_IMPLICIT_COMMIT_IN_TRX_WHEN_GTID_NEXT_IS_SET'
       error inside an empty or non-empty transaction regardless
       of the binlog setting, since it causes an implicit commit
       like other DDLs. In this case, the GTID specified by
       GTID_NEXT is not saved into GLOBAL@gtid_executed. (Bug
       #22130929)

     * Replication: When replication was configured but not
       started on a slave, the variable currently_executing_gtid
       was not properly initialized, but it would be used if the
       performance_schema table
       replication_applier_status_by_worker
(http://dev.mysql.com/doc/refman/5.7/en/replication-applier-status-by-worker-table.html)
       was queried, causing
       assertion failures and pointer issues. With this fix, the
       variable is now properly initialized at the construction
       of the Relay_log_info object. (Bug #21953132, Bug #78722)

     * Replication: RESET SLAVE ALL could delete a channel even
       when master_pos_wait and wait_until_sql_thread_after_gtid
       were still waiting for binlog to be applied. This could
       cause a MySQL server exit when the functions tried to
       access the channel that was deleted. Now, a channel
       reference counter was added that is increased if the
       channel should not be deleted when the functions are
       running. RESET SLAVE ALL will wait for no reference, and
       then it will delete the channel. (Bug #21842399, Bug
       #78445)

     * Replication: When relay_log_recovery=1, a slave server,
       at its initialization, still tried to scan the relay log
       files in order to update Retrieved_Gtid_Set and the
       transaction parser state, which was an unnecessary waste
       of resources because the slave I/O thread would just be
       initialized to the SQL thread position in the new relay
       log file. With this fix, the slave server skips scanning
       the relay log files when relay_log_recovery=1. (Bug
       #21798355, Bug #78352)

     * Replication: In Slave_worker::write_info(), DBUG_ENTER()
       had "Master_info::write_info" as its argument instead of
       "Slave_worker::write_info". This fix corrects the
       argument. Thanks to Stewart Smith for the patch. (Bug
       #21658067, Bug #78133)

     * Replication: XA transactions were not handled correctly
       when --gtid-mode=ON and the binary log was disabled. It
       was because on both master and slave servers, the GTID
       state was sometimes not saved and the GTID ownership was
       sometimes not cleaned up. This fix makes sure those steps
       are now properly performed. (Bug #21618727)
       References: See also Bug #22165138, Bug #77740, Bug
       #21452916.

     * Replication: When a multi-threaded slave stopped with an
       error, the same error message was printed three times.
       Now, the SQL thread's kill acceptance status is saved,
       and only printed once. (Bug #21198611, Bug #77237)

     * Replication: When using a multi-threaded slave with
       relay_log_info_repository set to TABLE, the slave applier
       thread failed to write XA transactions to the worker
       configuration. (Bug #20988291)

     * Replication: mysqlbinlog --verbose displayed BINARY
       (http://dev.mysql.com/doc/refman/5.7/en/binary-varbinary.html)
       and VARBINARY
       (http://dev.mysql.com/doc/refman/5.7/en/binary-varbinary.html)
       data as ordinary strings, causing any single quote
       ("'") or backslash ("\") among the data to be printed as
       such, which was confusing to the users and, in the case
       of a backslash, caused the next character to be skipped.
       This fix makes mysqlbinlog print the characters'
       hexadecimal values ("\x27" for single quote and "\x5c"
       for backslash) instead. (Bug #20836250)

     * Replication: The test case main.merge failed when the
       variables binlog_format was set to "ROW," as the server
       tried to get information for table creation for a child
       table before it was opened. With this fix, the server
       skips getting information for the table in the situation.
       (Bug #20574550)

     * Replication: If a query on a master generated an error
       and partial results were written to the binary log, for
       example due to a DROP TABLE IF EXISTS statement applying
       to multiple tables that would break foreign key
       constraints, when a slave configured with replication
       filters encountered the query it could be incorrectly
       binary logged. This caused errors such as:
       Last_SQL_Error: Query caused different errors on master
       and slave. Error on master: message (format)='Cannot
       delete or update a parent row: a foreign key constraint
       fails' error code=1217 ; Error on slave: actual
       message='no error', error code=0. Default database:
       'db1'. Query: 'DROP TABLE IF EXISTS `table1` /* generated
       by server */'
       There were two fixes required for this bug.

          + If a DROP TABLE statement used to drop a single
            table fails, to avoid partial results causing this
            bug the query is not written to the binary log. If a
            DROP TABLE statement used to drop a list of tables
            fails, any partial results it generates are written
            to the binary log with an error.

          + When a query that generates an error as expected was
            received by a slave but it was skipped due to
            replication filters, the slave was incorrectly
            checking the error. The fix for Bug #76493 ensures
            that this comparison of the expected error from the
            master with the actual error from the slave does not
            happen.
       (Bug #77684, Bug #21435502)
       References: See also Bug #20797764.

     * RTRIM() on large strings could be very slow. (Bug
       #22884187)
       References: This bug was introduced by Bug #18315770, Bug
       #12368495.

     * Integer overflow could occur during client handshake
       processing, leading to a server exit. (Bug #22722946)

     * Missing initializers in the query plan constructor
       resulted in Valgrind warnings. (Bug #22573117)

     * The obsolete support-files/MySQL-shared-compat.spec.sh
       file was removed from distributions. (Bug #22525609)

     * mysqlpump failed (syntax error) when a view name
       contained a space character. View names are now quoted.
       (Bug #22505474)

     * UNHEX() with an invalid argument could result in garbage
       characters in the warning message. (Bug #22358933)

     * Improper host name checking in X509 certificates could
       permit man-in-the-middle attacks. (Bug #22295186, Bug
       #22738607)

     * For debug builds, when an indexed nonnullable generated
       column with an empty string generated expression was
       updated during an insert for a duplicated key, there was
       an optimization that resulted in the server failing to
       find the duplicated index, causing an assertion to be
       raised. (Bug #22195364)

     * A boolean mode full-text search caused a segmentation
       fault. (Bug #22176795)

     * Queries on generated columns that used WITH ROLLUP could
       raise an assertion. (Bug #22131343)

     * For a prepared statement that used a derived table, an
       assertion could be raised at execute time when checking
       statement privileges. (Bug #22108567)

     * Concurrent selecting and flushing of a FEDERATED table
       while killing connections accessing it could result in a
       server exit. (Bug #21918190)

     * For debug builds, when a query using join buffering and
       one of the tables inserted into the join buffer was
       accessed using a dynamic range scan on an index
       containing a virtual column, a Valgrind error occurred
       when writing columns to the join buffer. (Bug #21872184)

     * After iterations of uninstalling and installing the
       audit_log plugin, the server could hang. (Bug #21796658)

     * With a LOCK TABLES statement in effect, access to
       Performance Schema tables could fail, as could SHOW
       STATUS with show_compatibility_56=OFF. (Bug #21789221)

     * Executing GRANT PROXY statements after altering the
       definition of the mysql.user system table could result in
       a server exit. (Bug #21699037)

     * Certain error messages included part of the SQL statement
       that produced them, possibly exposing data. (Bug
       #21682356)

     * The Performance Schema assumed that tables named using a
       #sql prefix were temporary and could be ignored. But it
       is possible to create nontemporary tables using that
       prefix. The Performance Schema now uses table attributes
       other than the name to identify temporary tables. (Bug
       #21105475, Bug #22532368, Bug #79934)

     * Account filtering performed by the audit_log plugin
       incorrectly used the account named by the USER() function
       rather than the CURRENT_USER() function (the latter being
       the account used for authentication). (Bug #19509471)

     * NAME_CONST() can return null if incorrect arguments are
       given. In some cases, this was not handled and could
       cause a server exit. (Bug #19143243)

     * Character set conversion operations on NULL parameters to
       prepared statements could cause a server exit. (Bug
       #18823979)

     * Loose Index Scan was not chosen for queries that had an
       equality condition. (Bug #18109609)

     * Long or complex SQL statements could cause the parser to
       run out of memory. The new parser_max_mem_size system
       variable now enables control over the maximum amount of
       memory available to the parser. The default value places
       no limit on memory available, but the value can be
       reduced to protect against out-of-memory situations. (Bug
       #14744160)

     * A Valgrind warning for memory_free_noop() was silenced.
       (Bug #80457, Bug #22782197)

     * The MySQL server failed to start if built with the -m32
       option on Solaris/Sparc, due to improper static data
       alignment in init_delegates(). (Bug #80445, Bug
       #22763880)

     * The plugin_keyring.h header file misspelled
       st_mysql_keyring as st_mysql_keyring_file. (Bug #80414,
       Bug #22748867)

     * For shared-memory connections on Windows, the client
       library opened a handle on a mutex but did not close it.
       Subsequent attempts to restart the server on the other
       end of the connection failed if the client still had the
       mutex handle open. (Bug #80234, Bug #22646779)

     * mysqld attempted to initialize plugins specified using
       the --early-plugin-load option when the --help option was
       specified. (Bug #80077, Bug #22573767)

     * ALTER USER IDENTIFIED WITH ... expired the account
       password, even if the authentication plugin did not
       support password expiration. (Bug #79999, Bug #22551523)

     * Some Performance Schema global instruments, if not
       enabled at server startup, could be in a state where it
       was not possible to enable them at runtime. This
       restriction has been lifted. Affected instruments include
       mutex, rwlock, cond, and socket instances.
       Thanks to Zhang Yingqiang for the patch. (Bug #79784, Bug
       #22517278)

     * Setting the super_read_only system variable at server
       startup had no effect. (Bug #79328, Bug #22233503)

     * These audit_log plugin issues were corrected:

          + Calling my_message() from the
            MYSQL_AUDIT_GENERAL_CLASS handler resulted in
            infinite recursion.

          + Diagnostic messages were improved for the case when
            the MYSQL_AUDIT_GENERAL_CLASS handler returned
            nonzero.

          + Calling my_message() from the
            MYSQL_AUDIT_SERVER_STARTUP_CLASS handler did not
            abort server startup as it should have.

          + SHOW GLOBAL VARIABLES produced different output for
            the null_audit_abort_value system variable with
            show_compatibility_56 enabled and disabled.
       (Bug #79079, Bug #22136709, Bug #79091, Bug #22142166,
       Bug #79092, Bug #22142209, Bug #21783798)

     * For INSERT and UPDATE operations that caused FOREIGN KEY
       constraint violations, errors were reported rather than
       warnings when the IGNORE keyword was used. (Bug #78853,
       Bug #22037930)

     * Using the server session service, executing an SQL
       statement from a thread with no VIO context could raise
       an assertion. (Bug #78734, Bug #21959409)

     * Error messages raised by JSON_KEYS() and JSON_EXTRACT()
       contained the wrong data. (Bug #78699, Bug #22026278)

     * CREATE VIEW statements that used the TIMESTAMPDIFF()
       function with MICROSECOND as the unit resulted in
       incorrect view definitions. (Bug #78506, Bug #21877062)

     * For an existing user, CREATE USER IF NOT EXISTS produced
       an error rather than a warning. Similarly, for an
       nonexisting user, ALTER USER IF EXISTS produced an error
       rather than a warning. (Bug #78374, Bug #21807286)

     * For some queries, an Index Merge access plan was chosen
       over a range scan when the cost for the range scan was
       the same or less. (Bug #77209, Bug #21178196)

     * UNHEX() could attempt a left shift of a negative number.
       (Bug #73964, Bug #19642015)

     * EXPLAIN for SELECT ... FOR UPDATE statements acquired
       locks. (Bug #72858, Bug #18899860)

     * Processlist state information was not updated correctly
       for LOAD DATA INFILE and could show a state different
       from executing. (Bug #69375, Bug #16912362)

MySQL Shell 1.0.3 m1 Development Release has been released (no replies)

$
0
0
Dear MySQL users,

Today we are excited to announce for the first time the MySQL Shell, a
new component for the MySQL Server.

The MySQL Shell is an interactive JavaScript and Python command-line
interface, supporting development and administration for the MySQL
Server. The MySQL Shell enables developers to use a new Create Read
Update Delete (CRUD) API. MySQL Shell is a component of the MySQL
Server.

This is a Developer Release, so we are looking forward to getting your
feedback on the MySQL Shell as well as the new API and all the other new
features.

The MySQL Shell provides

     * Both Interactive and Batch operations

     * JavaScript, Python, and SQL language modes

     * Document and Relational Models

     * CRUD Document and Relational API via scripting

     * Output results in Traditional Table, JSON, and Tab Separated formats

     * Global and Stored Sessions

     * And much more


To download the MySQL Shell
http://dev.mysql.com/downloads/shell

To learn more about MySQL Shell, a component of the MySQL Server, see
http://dev.mysql.com/doc/refman/5.7/en/mysql-shell.html

To learn more about using MySQL as a document store, see
http://dev.mysql.com/doc/refman/5.7/en/document-store.html

For MySQL Shell Tutorials
JavaScript - http://dev.mysql.com/doc/refman/5.7/en/mysql-shell-tutorial-javascript.html
Python - http://dev.mysql.com/doc/refman/5.7/en/mysql-shell-tutorial-python.html

User documentation for the new X DevAPI
http://dev.mysql.com/doc/x-devapi-userguide/en/index.html


On behalf of the MySQL Engineering Group 

MySQL Connector/Node.js 1.0.2 m1 Development Release 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, v1.0.2 M1, is the first development release of the
MySQL Connector/Node.js 1.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.

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

Changes in MySQL Connector/Node.js 1.0.2 (2016-04-11, Milestone 1)

   Functionality Added

     * Added support for the new X Dev API that was introduced
       in MySQL Server 5.7.12.


Enjoy and thanks for the support!

On behalf of the MySQL Release Team 

MySQL Community Server 5.6.30 has been released (no replies)

$
0
0
Dear MySQL users,

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

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

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

For information on installing MySQL 5.6.30 on new servers or upgrading
to MySQL 5.6.30 from previous MySQL releases, please see

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

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

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

Not all mirror sites may be up to date at this point in time, so if you
can't find this version on some mirror, please try again later or choose
another download site.

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

https://wikis.oracle.com/display/mysql/Contributing

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

http://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-30.html

Enjoy!

Changes in MySQL 5.6.30 (2016-04-11)

Security Notes

* The linked OpenSSL library for the MySQL Commercial
Server has been updated to version 1.0.1s. Issues fixed
in the new version are described at
http://www.openssl.org/news/vulnerabilities.html.
This change does not affect the Oracle-produced MySQL
Community build of MySQL Server, which uses the yaSSL
library instead. (Bug #22685885, Bug #22923458)

* MySQL client programs now support an --ssl-mode option
that enables you to specify the security state of the
connection to the server. The default value is DISABLED
(establish an unencrypted connection).
--ssl-mode=REQUIRED) can be specified to require a secure
connection, or fail if a secure connection cannot be
obtained.
These clients support --ssl-mode: mysql, mysqladmin,
mysqlcheck, mysqldump, mysqlimport, mysqlshow, mysqlpump,
mysqlslap, mysqltest, mysql_upgrade.
For more information, see Command Options for Secure
Connections
(http://dev.mysql.com/doc/refman/5.6/en/secure-connection
-options.html).

Bugs Fixed

* InnoDB; Partitioning: When OPTIMIZE TABLE rebuilt a
partitioned InnoDB table, it placed the resulting
partition tablespace files (*.ibd files) in the default
data directory instead of the directory specified using
the DATA DIRECTORY option. (Bug #75112, Bug #20160327)

* InnoDB: Running REPLACE operations on multiple
connections resulted in a hang. (Bug #22530768, Bug
#79185)

* InnoDB: MySQL stalled when syncing the InnoDB full-text
index cache. (Bug #22516559, Bug #16510576, Bug #73816)

* InnoDB: A CREATE TABLE ... DATA DIRECTORY operation
failed to create a table while innodb_flush_method was
set to O_DIRECT. (Bug #22180006, Bug #79200)
References: This bug is a regression of Bug #21113036.

* InnoDB: The innodb_open_files setting could exceed the
open files limit. (Bug #22111472)

* Replication: Issuing STOP SLAVE caused a spurious Error
reading packet from server: Lost connection to MySQL
server during query message to be written to the error
log. With this fix, when connection to the master is
lost, the abort_slave flag is checked and the error
message is printed only if the flag is not set. (Bug
#22305605, Bug #79504)
References: See also Bug #12977988, Bug #22290309.

* Replication: In Slave_worker::write_info(), DBUG_ENTER()
had "Master_info::write_info" as its argument instead of
"Slave_worker::write_info". This fix corrects the
argument. Thanks to Stewart Smith for the patch. (Bug
#21658067, Bug #78133)

* Replication: When a multi-threaded slave stopped with an
error, the same error message was printed three times.
Now, the SQL thread's kill acceptance status is saved,
and only printed once. (Bug #21198611, Bug #77237)

* Replication: mysqlbinlog --verbose displayed BINARY
(http://dev.mysql.com/doc/refman/5.6/en/binary-varbinary.
html) and VARBINARY
(http://dev.mysql.com/doc/refman/5.6/en/binary-varbinary.
html) data as ordinary strings, causing any single quote
("'") or backslash ("\") among the data to be printed as
such, which was confusing to the users and, in the case
of a backslash, caused the next character to be skipped.
This fix makes mysqlbinlog print the characters'
hexadecimal values ("\x27" for single quote and "\x5c"
for backslash) instead. (Bug #20836250)

* Replication: The test case main.merge failed when the
variables binlog_format was set to "ROW," as the server
tried to get information for table creation for a child
table before it was opened. With this fix, the server
skips getting information for the table in the situation.
(Bug #20574550)

* Replication: If a query on a master generated an error
and partial results were written to the binary log, for
example due to a DROP TABLE IF EXISTS statement applying
to multiple tables that would break foreign key
constraints, when a slave configured with replication
filters encountered the query it could be incorrectly
binary logged. This caused errors such as:
Last_SQL_Error: Query caused different errors on master
and slave. Error on master: message (format)='Cannot
delete or update a parent row: a foreign key constraint
fails' error code=1217 ; Error on slave: actual
message='no error', error code=0. Default database:
'db1'. Query: 'DROP TABLE IF EXISTS `table1` /* generated
by server */'
There were two fixes required for this bug.

+ If a DROP TABLE statement used to drop a single
table fails, to avoid partial results causing this
bug the query is not written to the binary log. If a
DROP TABLE statement used to drop a list of tables
fails, any partial results it generates are written
to the binary log with an error.

+ When a query that generates an error as expected was
received by a slave but it was skipped due to
replication filters, the slave was incorrectly
checking the error. The fix for Bug #76493 ensures
that this comparison of the expected error from the
master with the actual error from the slave does not
happen.
(Bug #77684, Bug #21435502)
References: See also Bug #20797764.

* Integer overflow could occur during client handshake
processing, leading to a server exit. (Bug #22722946)

* The System-V initialization script for RHEL6 or older
failed to enable the mysqld service by default. (Bug
#22600974)

* When ExtractValue() found no match for the supplied
expression, it returned NULL instead of an empty string
as expected.
This issue affected MySQL 5.6.28 and 5.6.29 only. (Bug
#22552615)

* Improper host name checking in X509 certificates could
permit man-in-the-middle attacks. (Bug #22295186, Bug
#22738607)

* A boolean mode full-text search caused a segmentation
fault. (Bug #22176795)

* Concurrent selecting and flushing of a FEDERATED table
while killing connections accessing it could result in a
server exit. (Bug #21918190)

* Executing GRANT PROXY statements after altering the
definition of the mysql.user system table could result in
a server exit. (Bug #21699037)

* Certain error messages included part of the SQL statement
that produced them, possibly exposing data. (Bug
#21682356)

* The Performance Schema assumed that tables named using a
#sql prefix were temporary and could be ignored. But it
is possible to create nontemporary tables using that
prefix. The Performance Schema now uses table attributes
other than the name to identify temporary tables. (Bug
#21105475, Bug #22532368, Bug #79934)

* Character set conversion operations on NULL parameters to
prepared statements could cause a server exit. (Bug
#18823979)

* Loose Index Scan was not chosen for queries that had an
equality condition. (Bug #18109609)

* A MySQL 5.6 server exited during startup if used with a
5.7 data directory due to the change in 5.7 of the
mysql.plugin table from MyISAM to InnoDB. A safe shutdown
now occurs in this circumstance. (Bug #79290, Bug
#22216779)

* For INSERT and UPDATE operations that caused FOREIGN KEY
constraint violations, errors were reported rather than
warnings when the IGNORE keyword was used. (Bug #78853,
Bug #22037930)

* For some queries, an Index Merge access plan was chosen
over a range scan when the cost for the range scan was
the same or less. (Bug #77209, Bug #21178196)

* Certain queries could raise an assertion when a internal
string operation produced a NULL pointer rather than an
empty string. (Bug #74500, Bug #19875294, Bug #13358486,
Bug #79988, Bug #22551116)

* EXPLAIN for SELECT ... FOR UPDATE statements acquired
locks. (Bug #72858, Bug #18899860)

* Processlist state information was not updated correctly
for LOAD DATA INFILE and could show a state different
from executing. (Bug #69375, Bug #16912362)

On Behalf of the MySQL/ORACLE RE Team
Hery Ramilison


MySQL Connector/J 6.0.2 m1 Development Release has been released (no replies)

$
0
0
Dear MySQL users,

MySQL Connector/J 6.0.2 m1 Development Release is a developer milestone
release for the 6.0.x series.

It is the first public release of the current Connector/J 6.0 development
branch, providing an insight to upcoming features. Although some of
these are still under development, this release includes the following
new features and changes (in comparison to the current Connector/J 5.1
production release), also available in more detail on
http://dev.mysql.com/doc/relnotes/connector-j/en/news-6-0-2.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.

Enjoy!

Changes in MySQL Connector/J 6.0.2 (2016-04-11, Milestone 1)

Version 6.0.2 Milestone 1 is the first development release of the
6.0 branch of MySQL Connector/J.

The major features of Connector/J 6.0 include:

* Supports MySQL 5.5, 5.6, and 5.7.

* Supports the JDBC 4.2 specification.

* Supports the Java 8 platform (use Connector/J 5.1 for
Java 7 or earlier).

* Supports 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 the X
DevAPI User's Guide
(http://dev.mysql.com/doc/x-devapi-userguide/en/).
For more information about how the X DevAPI is
implemented in Connector/J, MySQL Connector/J X DevAPI
Reference (http://dev.mysql.com/doc/dev/connector-j).
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).

For other significant changes from Connector/J 5.1 to 6.0,
see Changes in Connection Properties
(http://dev.mysql.com/doc/connector-j/6.0/en/connector-j-properties-changed.html)
and Changes in the Connector/J API
(http://dev.mysql.com/doc/connector-j/6.0/en/connector-j-api-changes.html).
Connector/J 6.0.2 includes all the bug fixes that have been
incorporated into Connector/J 5.1.38, plus the fixes
described below.

Bugs Fixed

* FabricMySQLDataSource.getConnection() threw a null pointer
exception when a master failover took place. (Bug
#22598938)

* The OSGi manifest file in the Connector/J JAR file did not
expose the MySQL Fabric packages, so the Fabric-related
classes could not be resolved even though they were
present in the JAR file. (Bug #22385172)

Documentation
--------------
Online: http://dev.mysql.com/doc/connector-j/6.0/en/index.html

Reporting Bugs
---------------
We welcome and appreciate your feedback and bug reports:
http://bugs.mysql.com/

On Behalf of the MySQL/ORACLE RE Team
Hery Ramilison

Viewing all 1041 articles
Browse latest View live


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