Web lists-archives.com

MySQL Community Server 5.6.26 has been released




Dear MySQL users,

MySQL Server 5.6.26, a new version of the popular Open Source
Database Management System, has been released. MySQL 5.6.26 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.26 on new servers or upgrading
to MySQL 5.6.26 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.25. It may also be viewed
online at

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

Enjoy!

Changes in MySQL 5.6.26  (2015-07-24)

This release adds support for Debian 8 and Ubuntu 15.04.

  * MySQL Enterprise Notes

  * Performance Schema Notes

  * Security Notes

  * Functionality Added or Changed

  * Bugs Fixed

MySQL Enterprise Notes

  * MySQL Enterprise Edition incorporates these changes for
    MySQL Enterprise Firewall:

       + The firewall implements a DETECTING
         intrusion-detection mode. For accounts in this mode,
         the firewall detects suspicious statements and
         writes them to the error log but does not deny
         access. The new Firewall_access_suspicious status
         variable counts the number of such statements. The
         sp_set_firewall_mode() stored procedure now
         synchronizes between in-memory rules and those in
         persistent storage for DETECTING mode, just as it
         does for PROTECTING mode.

       + A new sp_reload_firewall_rules() stored procedure
         reloads the in-memory rules for a registered account
         from the rules stored in the
         mysql.firewall_whitelist table, providing better
         control over firewall operation for individual
         accounts.

       + A new mysql_firewall_flush_status() UDF resets
         firewall access-counter status variables.
    To upgrade MySQL Enterprise Firewall if you have a
    version installed from a previous release, first
    uninstall the old version. Then install the new version
    and register your firewall configuration again. For
    instructions, see Installing or Uninstalling MySQL
    Enterprise Firewall
    (http://dev.mysql.com/doc/refman/5.6/en/firewall-installa
    tion.html).

Performance Schema Notes

  * Current-event timing now provides more information.
    Previously, while a wait, stage, or statement event was
    executing, the respective tables displayed the event with
    TIMER_START populated, but with TIMER_END and TIMER_WAIT
    as NULL:
      events_waits_current
      events_stages_current
      events_statements_current

    To make it possible to determine how how long a
    not-yet-completed event has been running, the timer
    columns now are set as follows:

       + TIMER_START is populated (unchanged from previous
         behavior)

       + TIMER_END is populated with the current timer value

       + TIMER_WAIT is populated with the time elapsed so far
         (TIMER_END − TIMER_START)
    To find events that have not yet completed (that is, have
    no END_EVENT_ID) and have taken longer than N picoseconds
    thus far, monitoring applications can use this expression
    in queries:
      WHERE END_EVENT_ID IS NULL AND TIMER_WAIT > N
    (Bug #75156, Bug #20889406)

Security Notes

  * Security Fix: Due to the LogJam issue
    (https://weakdh.org/), OpenSSL has changed the
    Diffie-Hellman key length parameters for openssl-1.0.1n
    and up. OpenSSL has provided a detailed explanation at
    http://openssl.org/news/secadv_20150611.txt. To adopt
    this change in MySQL, the following modifications were
    made:

       + The key length used in vio/viosslfactories.c for
         creating Diffie-Hellman keys has been increased from
         512 to 2,048 bits.

       + The linked OpenSSL library for the MySQL Commercial
         Server has been updated from version 1.0.1m to
         version 1.0.1p. 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 #77275, Bug #21221862, Bug #18367167, Bug #21307471,
    Bug #21449838)

Functionality Added or Changed

  * Replication: When using a multi-threaded slave, each
    worker thread has its own queue of transactions to
    process. In previous MySQL versions, STOP SLAVE waited
    for all workers to process their entire queue. This logic
    has been changed so that STOP SLAVE first finds the
    newest transaction that was committed by any worker
    thread. Then, it waits for all workers to complete
    transactions older than that. Newer transactions are not
    processed. The new logic allows STOP SLAVE to complete
    faster in case some worker queues contain multiple
    transactions. (Bug #75525, Bug #20369401)

  * Previously, the max_digest_length system variable
    controlled the maximum digest length for all server
    functions that computed statement digests. However,
    whereas the Performance Schema may need to maintain many
    digest values, other server functions such as MySQL
    Enterprise Firewall need only one digest per session.
    Increasing the max_digest_length value has little impact
    on total memory requirements for those functions, but can
    increase Performance Schema memory requirements
    significantly. To enable configuring digest length
    separately for the Performance Schema, its digest length
    is now controlled by the new
    performance_schema_max_digest_length system variable.
    (Bug #20963147)

  * Previously, changes to the validate_password plugin
    dictionary file (named by the
    validate_password_dictionary_file system variable) while
    the server was running required a restart for the server
    to recognize the changes. Now
    validate_password_dictionary_file can be set at runtime
    and assigning a value causes the named file to be read
    without a restart.
    In addition, two new status variables are available.
    validate_password_dictionary_file_last_parsed indicates
    when the dictionary file was last read, and
    validate_password_dictionary_file_words_count indicates
    how many words it contains. (Bug #66697, Bug #14588145)

Bugs Fixed

  * InnoDB: The ib_cursor_moveto function did not accept a
    search tuple with fewer fields than are defined for the
    index. (Bug #21121197, Bug #77083)

  * InnoDB: The ib_table_truncate function failed to release
    a transaction, resulting in a hang on server shutdown.
    (Bug #21121164, Bug #77084)

  * InnoDB: The ib_open_table_by_id function passed an
    incorrect argument to dict_table_open_on_id. (Bug
    #21121084, Bug #77100)

  * InnoDB: On Unix-like platforms,
    os_file_create_simple_no_error_handling_func and
    os_file_create_func opened files in different modes when
    innodb_flush_method was set to O_DIRECT. (Bug #21113036,
    Bug #76627)

  * InnoDB: Opening a foreign key-referenced table with
    foreign_key_checks enabled resulted in an error when the
    table or database name contained special characters. (Bug
    #21094069)

  * InnoDB: The page_zip_verify_checksum function returned
    false for a valid compressed page. (Bug #21086723)

  * InnoDB: An ALTER TABLE ... IMPORT TABLESPACE operation on
    a table with prefix index failed with a schema mismatch
    error. (Bug #20977779, Bug #76877)

  * InnoDB: A failure to load a change buffer bitmap page
    during a concurrent delete tablespace operation caused a
    server exit. (Bug #20878735)

  * InnoDB: Importing a tablespace with a full-text index
    resulted in an assertion when attempting to rebuild the
    index. (Bug #20637494)

  * InnoDB: After dropping a full-text search index, the
    hidden FTS_DOC_ID and FTS_DOC_ID_INDEX columns prevented
    online DDL operations. (Bug #20590013, Bug #76012)

  * InnoDB: The InnoDB memcached plugin handled unsigned NOT
    NULL integer columns incorrectly. Thanks to Piotr
    Jurkiewicz for the patch. (Bug #20535517, Bug #75864)

  * InnoDB: A DROP DATABASE operation raised an assertion.
    (Bug #19929435)

  * InnoDB: An index record was not found on rollback due to
    inconsistencies in the purge_node_t structure. (Bug
    #19138298, Bug #70214, Bug #21126772, Bug #21065746)

  * Partitioning: In certain cases, ALTER TABLE ... REBUILD
    PARTITION was not handled correctly when executed on a
    locked table. (Bug #75677, Bug #20437706)

  * Replication: If flushing the cache to the binary log
    failed, for example due to a disk problem, the error was
    not detected by the binary log group commit logic. This
    could cause inconsistencies between the master and the
    slave. The fix uses the binlog_error_action variable to
    decide how to handle this situation. If
    binlog_error_action=ABORT_SERVER, then the server aborts
    after informing the client with an
    ER_BINLOGGING_IMPOSSIBLE error. If
    binlog_error_action=IGNORE_ERROR, then the error is
    ignored and binary logging is disabled until the server
    is restarted again. The same is mentioned in the error
    log file, and the transaction is committed inside the
    storage engine without being added to the binary log.
    (Bug #76795, Bug #20938915)

  * Replication: When using GTIDs, a multi-threaded slave
    which had relay_log_recovery=1 and that stopped
    unexpectedly could encounter a relay-log-recovery cannot
    be executed when the slave was stopped with an error or
    killed in MTS mode error upon restart. The fix ensures
    that the relay log recovery process checks if GTIDs are
    in use or not. If GTIDs are in use, the multi-threaded
    slave recovery process uses the GTID protocol to fill any
    unprocessed transactions. (Bug #73397, Bug #19316063)

  * Replication: When two slaves with the same server_uuid
    were configured to replicate from a single master, the
    I/O thread of the slaves kept reconnecting and generating
    new relay log files without new content. In such a
    situation, the master now generates an error which is
    sent to the slave. By receiving this error from the
    master, the slave I/O thread does not try to reconnect,
    avoiding this problem. (Bug #72581, Bug #18731252)

  * Compilation failed when building MySQL without the
    Performance Schema. (Bug #21229433)

  * Incorrect cost calculation for the semi-join Duplicate
    Weedout strategy could result in a server exit. (Bug
    #21184091)

  * MySQL Enterprise Firewall recorded prepared statements as
    they were received by the server, not as normalized
    digests. (Bug #20929568)

  * Identifiers in normalized statements were sometimes
    quoted and sometimes not, an inconsistency that caused
    matching failure for statement digests and digest texts.
    This caused problems for MySQL Enterprise Firewall and
    for Performance Schema aggregation by digest. Identifiers
    now are quoted consistently. (Bug #20896539)

  * For MySQL Enterprise Firewall operation,
    max_digest_length had to be larger than
    mysql_firewall_max_query_size or normalized statements
    were truncated. (Bug #20894024)

  * Enabling MySQL Enterprise Firewall and binary logging
    could result in the server reading freed memory. (Bug
    #20848324)

  * For large values of max_digest_length, the Performance
    Schema could encounter an overflow error when computing
    memory requirements, resulting in a server exit. (Bug
    #20738072)

  * The Spencer regex library used for the REGEXP operator
    could be subject to heap overflow in some circumstances.
    (Bug #20642505)

  * A buffer-overflow error could occur for mysqlslap during
    option parsing. (Bug #20605441)

  * An off-by-one error in string-copying code could result
    in a buffer overflow. (Bug #20359808)

  * For some status variables that should monotonically
    increase, SHOW GLOBAL STATUS in one session could show
    them as decreasing when other concurrent sessions changed
    user or disconnected. (Bug #18591145)

  * mysql-systemd-start failed if datadir was set in
    /etc/my.cnf. (Bug #77357, Bug #21262883)

  * A call to the MySQL Enterprise Firewall
    sp_set_firewall_mode() stored procedure with an invalid
    user name produced an error but added the user to the
    firewall_users table anyway. (Bug #76914, Bug #21021875)

  * Ubuntu packages were missing dependencies for killall and
    psmisc. (Bug #76716, Bug #20893836)

  * When choosing join order, the optimizer could incorrectly
    calculate the cost of a table scan and choose a table
    scan over a more efficient eq_ref join. (Bug #71584, Bug
    #18194196)

On Behalf of the MySQL/ORACLE RE Team
Hery Ramilison

--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/mysql