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 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.6.1 alpha 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. 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 #18792076) * 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 #18042411) Documentation ------------- 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: http://bugs.mysql.com/ Enjoy! On Behalf of the MySQL/ORACLE RE Team Hery Ramilison
↧
MySQL Utilities 1.6.1 Alpha has been released (no replies)
↧