Hery Ramilison MySQL Utilities 1.5.2 has been released
Sep 26, 2014; 11:26
MySQL Utilities 1.5.2 has been released
Dear MySQL users,
This is the GA release for Utilities 1.5. MySQL Utilities version 1.5.2 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 servers.
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.5.2 GA 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.5.2 (2014-09-26 General Availability)
* Added the missing README and LICENSE text for the commercial packages. (Bug #19675930)
* For Windows, the Utilities MSI distribution package was setting the wrong permissions for the generated installation directory, which included all permissions granted for the 'Users' group. Now, the only permission set here for the 'Users' group is read-only. (Bug #19611879)
* A debugging message was being sent through the Fabric RPC protocol. (Bug #19588383, Bug #73864)
* Due to licensing conflicts between OpenSSL and GPL, SSL support is not included in the community edition for Windows. (Bug #19487002)
* Fabric behaved inconsistently with respect to sharding and non-existent tables. (Bug #19450843, Bug #73599)
* Separate CHANGES and README files were added to the commercial distribution. (Bug #19380635)
* For Fabric, Connectors inserting large amount of data before the TTL expires, after a resharding metadata update, could cause inconsistencies between the sharding definition and the data on the shard. (Bug #19427027, Bug #73546)
* Fabric could return an incorrect "lower_bound" length, depending on the character set. (Bug #19352961, Bug #73218)
* The mysqlserverclone utility did not check for a low amount of free space before it created a new instance of the server. It now errors out if 120+ MB of free space is unavailable, but this check can be ignored by also passing in the --force option. Additionally, the error handling for failed new data directory creation was improved to show additional details about the failure. (Bug #19303700, Bug #73366)
* The --disable-binary-logging flag of the mysqldbcompare utility did not function properly. It always required SUPER privileges in cases where the server had binary logging enabled, it was enabled internally even when not in use, and it threw an error when attempting to generate SQL statements for the differences between tables if one of the rows had columns with NULL values. Also, the ability to call the to_sql method for each column was added, which is enabled by default for the CSV output type. (Bug #19320164, Bug #73426)
* When copying views that depended on sub-views that were not yet copied, some utilities such as mysqldbcopy failed. The dependency related code was fixed to solve this problem. (Bug #19302898, Bug #73383)
* The policy command for the mysqlauditadmin utility failed when applied to recent MySQL server versions (such as MySQL 5.6.20 and 5.7.5). This is because audit_log_policy is now a READONLY variable (Bug #19259597)
* The utilities did not parse all types of GRANT statements, such as those with PROXY privileges and stored routines. The utilities could also fail when objects contained backticks. (Bug #19238432)
* Commands accept either a UUID or an address (i.e. host:port) to specify a server. The code was ignoring that a wrong address could be provided, and in consequence the execution could hang. The address is now validated before it is used. If the server belongs to a group, the address is checked against the information stored in the state store. If the server is not part of a group, Fabric will try to access the server until a timeout is reached. The default value for this timeout is defined through the option "unreachable_timeout" in the "servers" section in the configuration file, and it affects the following commands:
+ server lookup_uuid address [--timeout=NONE] ...
+ server clone group_id destn_address [--timeout=NONE] ...
* The mysqldbcompare utility failed when comparing two databases while using the SQL difftype. (Bug #19174364, Bug #72181)
* Some of try/exception blocks were catching the DatabaseError exception and raising a new exception without propagating information from the original problem. The error messages were improved by adding information about the server where the error originated, and the caught DatabaseError information is merged into the appropriate objects. (Bug #18999358, Bug #18370950, Bug #73019)
* The --force option was removed from the mysqlfabric utility. It was removed to help alleviate confusion about its purpose. Its functionality was replaced by clearer status messages that are always printed out. (Bug #18991971, Bug #72931)
* The --skip-innodb option is used by the utilities, but this option is ignored in MySQL 5.7+. A warning is now issued for this scenario. (Bug #18753983, Bug #72633)
* The mysqldiff utility's --skip-table-options option would fail when comparing two tables with different column ordering, or when also setting the --difftype option to SQL. (Bug #18632836, Bug #72178)
* The RPM installation failed to check for the required Connector/Python version, and having the incorrect version installed caused "mysqlfabric manage setup" to fail. (Bug #18450008)