Web lists-archives.com

MySQL Utilities 1.6.1 Alpha has been released

Dear MySQL users,

This is the Alpha release for Utilities 1.6. MySQL Utilities version 1.6.1
is compatible with MySQL Server versions 5.5 and greater. Python
v2.6 and v2.7 are supported.

In addition to server utilities, MySQL Utilities also contains MySQL
Fabric: a framework for managing a collection of MySQL servers. MySQL
Fabric is deployed as a separate service daemon that contains support
for high-availability and sharding. MySQL Utilities and Fabric require
Connector/Python 2.0.0 or higher.

The management framework maintains a database of the routing and state
information for the servers making up the system and provides an
easy-to-use command line interface for adding, removing and organizing

High-availability is provided by continuously monitoring the servers and
executing slave promotion when the master crashes and just as
importantly automatically updates the state and routing information that
gets messages to the right server.

MySQL Fabric comes with built-in support for sharding either using
ranges or consistent hashing and supports the sharding of multiple
tables to ensure that rows with matching sharding keys are stored in the
same shard. MySQL Fabric also contains support for global tables that
are duplicated on all shards as well as the ability to synchronize
schema updates across all of the servers.

To provide high performance and avoid latency, transactions are directly
routed by Fabric-aware connectors rather than routing via an external
proxy. The connectors dispatch transactions to the correct shard,
perform load-balancing, and handle read-write splitting. Currently there
exists Fabric-aware versions of Connector/Python, Connector/Java, and
Connector/PHP (through a Fabric-aware mysqlnd_ms plugin).

MySQL Utilities v1.6.1 alpha is available for download from


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

Changes in MySQL Utilities 1.6.1 (2015-03-04)

Bugs Fixed

  * Generally, the code was improved to be more MySQL 5.7
    compliant. (Bug #20078072)

  * All CREATE or ALTER TABLE commands in the Utilities, and
    Utilities that generate them, were updated to use fully
    qualified table names with foreign keys.
    As of MySQL 5.5.41 / 5.6.22, there is a new behavior with
    foreign keys. You must now explicitly state the schema of
    the table that the foreign key points to. Previously, if
    missing, it was assumed that the schema of the table
    pointed to by the foreign key was the schema of the table
    being defined, but this is no longer true as of MySQL
    5.5.41 / 5.6.22. (Bug #20035380)

  * Triggering a network down on a master or slave in a MySQL
    Fabric group would hang Fabric for an extended amount of
    time before it failed over and promoted a slave to a new
    master. (Bug #19949241, Bug #74555)

  * The _parse_grant_statement method from the common/user.py
    module incorrectly parsed MySQL 5.7 GRANT statements if
    they were after 'IDENTIFIED BY PASSWORD' and followed by
    a hash of the password. The hash is now seen as optional.
    (Bug #19943104)

  * The MySQL Utilities did not correctly handle spaces in
    the PATH to the MySQL server, which is common on Windows.
    These paths are now surrounded by quotes. (Bug #19942512)

  * The number of session threads was not properly
    configured, thus making MySQL only accept one request at
    a time. (Bug #19875584, Bug #74509)

  * The mysqlserverclone utility did not function properly
    with MySQL 5.7. It would bootstrap the server, load the
    SQL files, and relaunch the server, but it would not
    connect afterwards. (Bug #19804151)

  * The MUT test named binlogmove_privileges failed on some
    servers due to the unexpected rotation of relay log files
    on the slave. All slaves are now stopped as soon as the
    test relay log files are created, as to prevent log
    rotation. (Bug #19781888, Bug #74284)

  * The argument parser validation and error handling was
    improved for the mysqluc utility. (Bug #19781304)

  * The results regarding index redundancy shown by the
    mysqlindexcheck utility were not correct for FULLTEXT nor
    HASH type indexes.
    For FULLTEXT indexes, the order is not relevant, nor is
    the number of columns. A FULLTEXT index i(a,b) is
    redundant of a FULLTEXT index i2(b,a), and is also
    redundant of a FULLTEXT index i3(a) or FULLTEXT index
    i4(b). In other words, a FULLTEXT index is redundant if
    its columns are a subset of another FULLTEXT index.
    As for HASH type indexes, one index in considered
    redundant of another index if it contains the exact same
    columns with the exact same order. In other words, two
    HASH type indexes are redundant only if they are
    duplicates. (Bug #19720715)

  * The mysqlfabric event trigger did not properly handle
    arguments. (Bug #19644057, Bug #73968)

  * Generated logs now contain the version of the MySQL
    Utilities and connected MySQL server. (Bug #19614037)

  * On Windows, the test suite (MUT) failed to kill the
    spawned servers after running the tests, if the path for
    the base MySQL server included spaces. (Bug #19348330)

  * When a table contained a composite Primary Key, the
    mysqldbcompare utility generated INSERT/UPDATE/DELETE
    statements that omitted the "AND" clause between each
    field. (Bug #19340701, Bug #73449)

  * When comparing databases with the mysqldbcompare utility,
    quote characters within resulting SQL transformation
    statements were not escaped. As a result, the statements
    were not valid and could not be executed directly in a
    client tool, as intended. (Bug #19313139, Bug #73415)

  * MySQL Utilities now reflects the SSL behavior introduced
    for the MySQL client in MySQL 5.7.3. Setting --ssl=1 now
    causes the MySQL connection to fail if an encrypted
    connection can not be established. (Bug #19031182)

  * The mysqldbcopy utility was not able to copy table rows
    that contained single quotes in text columns. (Bug
    #18955235, Bug #72951)

  * The conversion to CSV performed with the --format=CSV
    option for several utilities was applying an incorrect
    line terminator on POSIX (non-Windows) systems. In
    particular, "\r\n" was used instead of "\n". (Bug

  * The mysqldbcompare utility failed to execute when a large
    invalid value was passed into the --span-key-size option.
    (Bug #18763262)

  * In MySQL, a BTREE index A is considered redundant of a
    BTREE index B if and only if index A is a leftmost prefix
    of index B. Having a common partial prefix is not enough.
    The mysqlindexcheck utility had an issue and was
    considering two BTREE indexes as redundant if they had a
    common partial prefix. mysqlindexcheck now correctly
    checks if a BTREE index is a leftmost prefix of the other
    index. (Bug #18718660)

  * The mysqldbcompare utility executed the full algorithm
    twice to search for data differences when the
    --show-reverse option was used, instead of only repeating
    the part that generated the differences in the reverse
    direction. This had a notable performance impact for
    larger databases. (Bug #18717843)

  * mysqlfabric would print a JSON-like output as a result,
    but this was potentially confusing as it was not JSON.
    Valid JSON is now used. (Bug #18110179, Bug #71445)

  * The exit code of "mysqlfabric group create ..." was 0 for
    both the success and the error cases. Now, 0 is only
    returned on success. (Bug #18110165, Bug #71444)

  * The mysqldbimport utility did not issue an error when a
    non-existing file was specified while multiprocessing
    support was enabled. Also, without concurrency (the
    multiprocess option enabled), a verbose Traceback was
    printed instead of a more readable error message. Now, a
    friendly error message is generated for both cases. (Bug

Online: http://dev.mysql.com/doc/index-utils-fabric.html

The source distribution includes the manual pages for each utility under
the docs/ folder.

Reporting Bugs
We welcome and appreciate your feedback and bug reports:


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