Dear MySQL users,
MySQL Utilities version 1.4.4 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.
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
High-availability is provided by continually monitoring the servers
and executing slave promotion when the master crashes. Just as
importantly it automatically updates the state and routing information
that gets messages to the right server.
MySQL Fabric comes with built-in support for sharding using either
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.4.4 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
Changes in MySQL Utilities 1.4.4
Bugs Fixed (2014-07-31)
* The mysqlreplicate and mysqlrplms utilities would generate an
exception when the optional --rpl-user was not passed in. (Bug
* The check for an errant transaction was not performed for
mysqlrpladmin's switchover command, it only performed for the
failover command. Both commands now check for errant
The errant transaction check requires all servers in the
topology to have GTID enabled, otherwise a warning is issued
indicating that the check cannot be performed for the
switchover command. (Bug #19076488, Bug #73110)
* On OS X Mavericks, the testing suite (MUT) failed to kill
mysqld processes as MUT could not identify the MySQL server
ports. (Bug #18958536)
* On Windows, the mysqlfabric utility searched for the fabric
configuration file outside of the installation folder.
The default configuration file location is C:\Program Files
(x86)\MySQL\MySQL Utilities 1.4.4\etc\mysql\fabric.cfg.
Additionally, the MySQL Utilities section in the Windows Start
menu now contains a link to the fabric configuration file.
* In the mysqluc environment, pressing tab after typing a "q"
would incorrectly suggest the term "qxit" instead of "quit".
This now returns "quit", which is an alias for "exit". (Bug
#18852960, Bug #72776)
* On Linux, the backspace key was not functioning in the mysqluc
environment, therefore the entered text could not be changed.
(Bug #18852933, Bug #72777)
* With fabric, the --daemonize parameter was not recognized when
passed in with manage start. (Bug #18874603, Bug #72818)
* With the --discover-slaves-login option, if there were
connection or configuration problems with some of the slaves,
then those slaves were skipped with only a generic error
message being issued. This behavior did not change when also
passing in --verbose.
A simple warning about the connection/configuration problems
is now generated during the discovery process, and it
references including --verbose to see additional information.
The --verbose option generates specific information for each
slave, and includes their respective errors. (Bug #18815523,
* The minimum required Connector/Python version in the source
code was defined as 1.0.9 instead of 1.2.1. (Bug #18777318,
* The Debian packages checked for a Connector/Python 1.0.9+
prerequisite instead of requiring Connector/Python 1.2.1+.
* Descriptive text for the --no-headers option was improved to
clearly indicate which formats it supports. For example, it
does not support the "vertical" format. (Bug #18790134, Bug
* When running the mysqlserverinfo utility as root against an
offline MySQL server, it failed to start a read-only instance
of the server and emitted the fatal error "Please read
"Security" section of the manual to find out how to run mysqld
as root!". This occurred because the mysqld option
"--user=root" was not passed in, which is mandatory when
starting mysqld as root. The user_name that executes the
utility is now detected and added as --user=user_name when
starting the read-only MySQL server.
Additionally, error checks were added that validate the
--basedir and --datadir options to check for their existence
and accessibility. (Bug #18790361, Bug #72658)
* Failed MySQL server connection error messages now return the
actual error returned from the failed connection, instead of a
custom (and more generic) error. This new behavior is more
standard with how other MySQL client applications behave. (Bug
#18815545, Bug #72670)
* The mysqluc utility would suddenly exit when a command was
wrongly formatted, like when a closing quote was missing. This
action now generates a warning instead of exiting from the
console, which allows the command to be edited. (Bug
#18730815, Bug #72569)
* When cloning a user, the mysqluserclone utility did not check
if the user of the destination server had the required
privileges for a successful operation. (Bug #18768780, Bug
* Error messages for the mysqluserclone utility were improved by
making them more explicit in terms of what might be missing.
(Bug #18730656, Bug #72572)
* The mysqluserclone utility was throwing an unhandled exception
when the --list option was used with incorrect login
credentials. The error message is now emitted. (Bug #18768487,
* When passing in the --dump option to the mysqluserclone
utility on a user with the hostname '%', the output (each
grant) would be printed twice. (Bug #18730720, Bug #72570)
* With fabric, sharding prune_shard operations would hang when
performed on a very large number of records. (Bug #18669231,
Bug #19177860, Bug #73238)
* The default value was removed from the --rpl-user option for
the mysqlreplicate and mysqlrplms utilities. Before, the
default user/pass value was "rpl:rpl". (Bug #18603715)
* A warning is now emitted whenever a password is entered into
the command line. When testing, this warning can be disabled
by setting self.mask_global to false. (Bug #18603598)
* The mysqlfailover utility caused excessive CPU load when
executed in the console without passing in --daemon. This high
CPU usage was due to the process waiting for user input. (Bug
#18379971, Bug #72002)
The source distribution includes the manual pages for each utility under
the docs/ folder.
We welcome and appreciate your feedback and bug reports:
On Behalf of the MySQL/ORACLE RE Team,
|• MySQL Utilities 1.4.4 GA has been released||Santosh Pagare||31 Jul 2014|