Documentation Home
MySQL Utilities Release Notes
Download these Release Notes
PDF (US Ltr) - 224.3Kb
PDF (A4) - 225.9Kb

MySQL Utilities Release Notes  /  Changes in Release 1.2  /  Changes in MySQL Utilities 1.2.2 (2013-04-26)

Changes in MySQL Utilities 1.2.2 (2013-04-26)

This section documents all changes and bug fixes applied since the release of 1.2.1.

Bugs Fixed

  • On Microsoft Windows, the mysqluc utility failed to list the MySQL Utilities because the .exe extension was not being scanned. (Bug #16714425)

  • The mysqlrpladmin command switchover routine would hang when configured with an invalid master. (Bug #16597814)

  • A utility would emit a generic error and halt execution if the utility was executed with an unsupported Python version, and if the utility did not have a file extension. (Bug #16587341)

  • When using the mysqlrpladmin utility, the slaves specified with the --slaves option now verify if they are configured for the specified master as per the --master option when the switchover command is executed. By default, the switchover will output an error and halt execution unless the --force option is used.

    Also, errors are now reported when offline servers are included in the --slaves list. (Bug #16584598)

  • The mysqlrpladmin utility now properly handles the way aliases are searched, compared, and handled. (Bug #16571812)

  • The mysqlrpladmin utility will now emit an error and halt execution if the new master specified is the original master (when the --master and --new-master options are the same). (Bug #16565502)

  • The mysqlrpladmin utility now uses the --ping value (default of 3) instead of --timeout (default of 300) as the time for the retry when checking slaves for errors after executing a switchover (or failover) command. (Bug #16520505)

  • The mysqlrpladmin would crash while executing the failover command when GTID mode was disabled on one of the slaves. It now emits an error and identifies the slaves with GTID_MODE = OFF, and the slaves that do not support GTID. (Bug #16489494)

  • The mysqlfailover utility ignored the --interval option. (Bug #16327743)

  • A --no-keyboard was added to the mysqlfailover utility, and it defaults to false. When enabled, pressing Control + C will terminate the program. This new option allows this utility to function without a terminal, so that it can be invoked from external programs such as a Java based framework. (Bug #16327406)

  • The following changes were made to the MySQL Utilities:

    • The mysqlrpladmin --master option is no longer required for the start, stop and reset operations. Without --master, this utility will not check if the specified slaves are configured for the specified master.

    • The --discover-slaves-login and --slaves options cannot be used simultaneously for any command, otherwise an error will be generated and the utility will exit.

    • The output from when a slave is discovered (when --discover-slaves-login is passed in) was improved, and skipped slaves with I/O threads not running are now identified.

    • The verbosity option was added to mysqlrplshow. When the --verbose option is passed in, the utility shows if the I/O threads of the slaves are running.

    (Bug #16268060)

  • The mysqlserverclone utility did not expand to the user's home directory when using the tilde ("~") while specifying a path for the --basedir option. (Bug #16231372)

  • The status for all slaves is now checked using SHOW SLAVE STATUS before a failover operation is started. Errors are now reported, and a warning indicates that the failover operation might result in an unstable replication topology.

    For mysqlfailover, the process will not stop if errors are found unless the --pedantic option is passed in. For mysqlrpladmin, the process will stop if errors are found unless the --force option is passed in, in which case the operation will emit a warning and continue.


    I/O errors on slaves are expected (prior to failover) since the master is down, therefore only SQL errors are checked.

    (Bug #16210447)

  • When a switchover was performed with --demote-master, the old master would still show as a master to the new master (the promoted slave), in that the --demote-master failed to unlink with a new master in the topology. (Bug #16210246)

  • A switchover operation failed due to a missing or incorrect password for the replication (--rpl-user) user.

    New behavior when a password is not specified: When --force is passed in, the password will be cleared for the specified user. If --force is not passed in, then an error will be generated.

    New behavior when a password is specified and invalid: When --force is passed in, the password will be overwritten and used for the specified user so the master server can be located. If --force is not passed in, then an error will be generated. (Bug #16210222)

  • The replication utilities will now check the slaves for errant transactions (these are transactions that only exist on one slave) prior to executing failover. For mysqlfailover this means generating a warning and only stopping if the --pedantic option is passed in, and for mysqlrpladmin this means generating an error, and halting execution unless the --force option is passed in. (Bug #16205200)

  • The replication utilities can now handle the IPv4 ( and IPv6 ([::1]) loopback IP addresses, instead of only localhost as the generic hostname. (Bug #16204732)

  • mysqlrpladmin will now generate a warning if the --master option is passed to it but not required, when before it would sometimes generate an error, depending on other circumstances.

    Passing in --discover-slaves-login will generate an error, because the master information is not available.

    The --slaves option is now required. (Bug #16202902)

  • The MySQL Utilities library only partially supported IPv6. Valid values starting with :: were either parsed incorrectly or identified as invalid. (Bug #15903171)

  • mysqldiff and mysqldbcompare did not function on tables that contained a hyphen ("-") in their name, and these utilities would abort with unknown errors. (Bug #13650863)

  • Copyright and version information was added to the --help output for each utility. (Bug #13383767)

  • The mysqluc utility was optimized to locate the available MySQL Utilities more efficiently. Before it would scan the entire installation directory for available executables, but now it uses hardcoded values, and also scans for executables with the "mysql" prefix. (Bug #68322, Bug #16382195)

  • The mysqldiff utility would consider two tables as different if the columns or indexes were ordered differently. (Bug #65169, Bug #16410648)

  • Connection strings would not accept usernames or passwords that contained a hyphen ("-"). Using single or double quotes is now supported. For example, passing in --server="user:'pass@:-chars'@localhost" as a connection string to a MySQL Utility is now valid. (Bug #65168, Bug #14383884, Bug #15836908)