In the Fabric configuration file, the backup_user and restore_user MySQL user accounts were added to the [servers] section, and the [client] section (along with its user option) was removed altogether. The Fabric configuration file is no longer used by MySQL client programs. (Formerly the file was used as the defaults file for the MySQL clients via the
--defaults-extra-fileoption.) (Bug #19682075)
For Fabric, an example script was added to the source packages to help provide an HA solution using a single Fabric node. For related documentation, see http://dev.mysql.com/doc/mysql-utilities/1.5/en/fabric-pacemaker.html.
The mysqldbcompare utility's
--alloption now ignores the internal sys schema. (Bug #21415893)
The mysqlimport utility would fail with an "Invalid Statement" error (errno 1694), when executed against MySQL server 5.7.7. (Bug #21327864)
For Fabric, executing "server clone" would throw the following error; "'NoneType' object has no attribute 'user'". (Bug #21270905)
For Fabric, executing >build_docs without sphinx installed would emit an unclear error message. (Bug #21242697)
For Fabric, errors were emitted for commands executed locally using the dispatch method that also contained compulsory arguments. (Bug #21214069)
With Fabric, MySQL server 5.7.8 and newer would not function as a state store, and would instead emit an error similar to "Unknown column 'group_id' in 'where clause'." (Bug #21120391)
References: This issue is a regression of: Bug #19823076.
For Fabric, the default MySQL port is now passed in with the server_address when the port number is not explicitly defined. (Bug #21043598)
In the MySQL RPC protocol, the MySQL Fabric process would spin in the "recv" after a connector closed the connection, which caused excessive (100%) CPU use. The code now detects when an empty chunk is returned from "recv", meaning that nothing else will be transferred from the client and that the socket is closed.
In addition, possible header fragmentation is now avoided when the process would hang when attempting to read 4 bytes. (Bug #21042726)
The mysqluserclone utility did not properly copy global privileges with
--include-global-privilegesenabled, as it attempted to grant privileges to the source user instead of the destination user. (Bug #21031993, Bug #76938)
The mysqlrplsync and mysqldbcompare utilities now function correctly when the sys schema is present; a schema that is added by default as of MySQL server 5.7.7. In other words, the sys schema is no longer compared/synced as it is unique to each host. (Bug #20979041, Bug #76878)
The mysqldbcopy utility failed to copy a database that contained permissions to a user not present on the destination server when
NO_AUTO_CREATE_USERwas enabled. This is because mysqldbcopy attempted to create the user implicitly using the
GRANTstatement, an operation that does not work with
NO_AUTO_CREATE_USER. Users are now explicitly created before the
Related, the NO_AUTO_CREATE_USER sql_mode is enabled by default as of MySQL server 5.7.7, and will become default behavior in a future release. (Bug #20972389, Bug #76866)
The minimum Connector/Python version increased to 2.0.4 or 2.1.2. (Bug #20766081)
References: See also: Bug #74933, Bug #76579.
The mysqlfabric client would exit with a "Connection reset by peer" error if a thread was not available when using the XML-RPC protocol, although subsequent commands would typically succeed. (Bug #20697968)
MySQL Utilities would hang when a long query using Connector/Python 2.1.2 was killed before completion. The underlying bug was fixed in Connector/Python 2.1.3. (Bug #20519892)
References: See also: Bug #76156.
With Fabric, programming errors could leave some results unread and, by consequence, the associated connection cannot be used to process other requests until the result was read. This issue could break threads that had an associated connection as they could not process further requests after the first "unread results found" error. (Bug #20415833, Bug #75589)
Some replication utilities, such as mysqlfailover and mysqlrpladmin, would crash with MySQL server 5.7.6 (and above) because a new column (Channel_name) was added to the mysql.slave_master_info table.
The utilities were updated to not fail when additional columns are added in the future. (Bug #20344064)
A SIGUSR1 handler was added to MySQL Fabric. If a SIGUSR1 signal is sent to the MySQL Fabric process, the stack trace of all threads are now sent to the current logger, if there is one, otherwise to the stderr stream.
An empty handler for the SIGINT signal was added just in case the MySQL Fabric process is killed by mistake after pressing Control + C. To stop the MySQL Fabric process, you can either execute "mysqlfabric manage stop", or send it the SIGKILL signal.
Also, stderr was not redirected when the MySQL Fabric process was daemonized, so the process would die if someone tried to dump a stack trace. Now, 'stderr' is redirected to 'os.devnull' (i.e. '
/dev/null' for POSIX). (Bug #20230459)
With Fabric, an interrupted test suite caused future executions of the test suite to fail due to test database remnants. The test suite now drops existing test databases and test users before creating new ones. (Bug #20215134, Bug #75217)
With Fabric, the test suite now checks if the required environment variables, such as MYSQLDUMP and MYSQLCLIENT, are set before proceeding. (Bug #20215029, Bug #75215)
The [client] section of the Fabric configuration file was removed, to avoid confusion with the related [servers] section. (Bug #19787441, Bug #74296)
References: See also: Bug #19682075.