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.3 (2013-06-14)

Changes in MySQL Utilities 1.2.3 (2013-06-14)

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

Functionality Added or Changed

  • A new return value threshold may be set using the --script-threshold option for switchover and failover operations with the mysqlfailover utility. You may specify a threshold for checking the return code for external scripts. If the return value is greater than or equal to the threshold, then the operation will fail.

    Default behavior is to report return codes for scripts, but to not fail. (Bug #16664899)

  • The mysqldbimport utility can now import raw CSV files by passing in --format=raw.

    The first row in the CSV file is used for the columns names that are also used in the INSERT statement, so the presence of all columns and their order are not important. The --table option is required, and is defined as dbname.tablename. (Bug #12952424)

Bugs Fixed

  • The mysqluc utility would ignore the Python binary that was used to call the utility, and instead it used the system's Python binary. mysqluc will now use the Python version that calls it. (Bug #16859970, Bug #16887937)

  • The mysqldbcompare utility was not generating valid SQL queries for routines that included statements that ended with a semi-colon (;) in the body. This lead to errors when executing the generated SQL with the MySQL Client. Routines are now wrapped with a proper DELIMITER clause.

    The DEFINER user@host and routine names in CREATE statements are now correctly quoted with backticks. (Bug #16745042)

  • The mysqluc utility will now emit a warning when a utility is called that cannot be loaded. It reveals that the utility will not appear in the 'help utilities' and that the utility is not accessible from the console. (Bug #16730148)

  • The mysqldbcompare utility will now exit when an error is raised, rather than exit with a message reporting the status of the database compare. (Bug #16565538)

  • The session_id attribute was added to the slow query log parser, which is present in logs that are generated by MySQL Server 5.6 and greater. (Bug #16553949)

  • The mysqlserverclone utility now accepts paths with spaces, and mysqldiskusage now lists log files alphabetically. (Bug #16485689)

  • The validation of required options for mysqlrpladmin was improved. Forgetting to pass in --master would generate an unexpected error but now yields an informative warning. (Bug #16465309)

  • The mysqlrpladmin utility would create an incorrect topology. The new master was setting itself as master instead of clearing its replication configuration, and the new master configuration is now reset (i.e., it executes RESET SLAVE ALL) at the end of the failover process. (Bug #16461533)

  • The README was updated to include information about how to manually remove the MySQL Utilities, since does not support an uninstall method. (Bug #16422080)

  • The output of mysqlrplshow now includes the state of slaves, in addition to the state of their IO and SQL threads. The display for this output is controlled with the --verbosity option. Use -vvv to show all data. (Bug #16268281)

  • Executing the mysqldbimport utility and passing in --format=csv and --import=data on a file that had SET statements would generate an error. The SET statements are now treated set as definitions and not as data.

    If there is not data in the file and the --import=data option is used, an appropriate error message is now displayed. (Bug #16227817)

  • The mysqldiskusage utility would incorrectly calculate the size as it incorrectly rounded units by dividing using integers instead of floats. (Bug #16090525)

  • The mysqldbexport utility was improved by removing the incorrect replacement of '%' by '%%' in GRANT statements, correctly identifying and quoting VARCHAR data types for export, generating SQL statements with NULL instead of None for columns without values, and converting all special characters in strings with the correct escape sequence. In addition, this also fixes a mysqldbimport issue that was duplicating the last data row from tables imported with files in the GRID, CSV, TAB and VERTICAL formats (but not the SQL format). (Bug #14799141)

  • A check was added for finding if Connector/Python is missing or inaccessible. It should be accessible via the PYTHONPATH path variable. (Bug #14769351)

  • The mysqldiff and mysqldbcompare utilities failed to find differences when database objects had the same name with different types. Both the type and name are now compared. The display messages were also improved. (Bug #14762202, Bug #67224)

  • The mysqldbcompare utility could generate false hits for missing or changed data due to the algorithm using a small key to generate the checksum spans of the rows. The default key length was increased from 4 to 8 which allows increasingly accurate hits. A new option (--span-key-size) was also added to allow you to change this value to increase granularity of the key comparison.

    The new --span-key-size option changes the size of the key used for the comparison of table contents. A higher value can help generate more accurate results when comparing large databases, but larger values may decrease performance. The default value is 8. (Bug #14672819, Bug #16204629)

  • Typos and inconsistencies were fixed in the --help screen. (Bug #14348411)

  • SHOW VARIABLES LIKE '_MAXALLOWED_PACKET' was replaced by @@session.max_allowed_packet variable in the mysqldbcompare check for the maximum allowed packet. (Bug #14348238)

  • The mysqldbcompare, mysqlrpladmin, mysqlrplcheck, and mysqlreplicate utilities now check for the required options. Failing to pass in the required options would cause a fatal error. (Bug #14348129, Bug #16589086, Bug #16584752, Bug #16793214, Bug #69193)

  • The mysqldbimport utility can now import a database with multiple column keys. (Bug #14146713)

  • The mysqldbcompare utility would yield inconsistent output when two databases did not share objects, or when two databases were empty (with no objects). It would print "Databases are consistent" even though the output showed that they were not consistent. (Bug #13846309)

  • The vertical format output for all utilities will now show "1 row" when viewing a single row, or otherwise "n rows". Before it would always write "n rows", including "1 rows". (Bug #13573446)

  • The mysqlindexcheck utility ignored the values specified via the --best and --worst options. (Bug #13559424)

  • The algorithm to calculate the number of transactions behind the master was fixed for the health report of the replication utilities. (Bug #69209, Bug #16554609)

  • The mysqlauditgrep utility now parses multi-line entries. (Bug #69033, Bug #16703482)

  • mysqldcopy was failing to copy views if there was not a space before the database name for the selected fields. Support for spaces and parentheses before the database name was added. (Bug #64656, Bug #13864671)