MySQL Shell 8.4 Release Notes
MySQL Shell closed unexpectedly when calling certain AdminAPI functions on EL7 platforms. (Bug #36651010)
dba.reboot_cluster_from_complete_outage()
disabled super_read_only
on the primary
member of an INVALIDATED Cluster. As a result, clients continued
to perform updates and introduce errant transactions.
As of this release,
dba.reboot_cluster_from_complete_outage()
enables super_read_only
on the primary member
and disables the Group Replication action
mysql_disable_super_read_only_if_primary
.
(Bug #36562916)
If an attempt to create a Replica Cluster failed due to a
timeout and the revert also failed due to a timeout, the Replica
Cluster could be left in an inconsistent state; ONLINE, but not
associated with the ClusterSet's metadata. This specific issue
was caused by low values for wait_timeout
and
interactive_timeout
.
The following changes were made:
wait_timeout
is checked and, if set to a
value lower than the default of 8 hours, is set to 8 hours.
is extended with a new option,
Cluster
.rescan()repairMetadata
which can be enabled to
resolve inconsistencies in the Cluster's metadata.
can now be used on Clusters in this inconsistent state.
Cluster
.dissolve()
(Bug #36495756)
The following check was added to the Upgrade Checker utility:
foreignKeyReferences
: Checks for foreign
keys referencing non-unique and partial indexes.
(Bug #36553868)
The formatting of the report returned by the Upgrade Checker
utility's invalidPrivilege
check is improved
in this release. Instead of returning a message for each user,
the users are grouped with the message.
(Bug #36613895)
As of this release, all failed connections to the supported object storage platforms are retried three times, with a 1 second delay between retries.
If a failure occurs 10 minutes after the connection was created, the delay is changed to an exponential back-off strategy:
First delay: 3-6 seconds
Second delay: 18-36 seconds
Third delay: 40-80 seconds
(Bug #36597063, Bug #36256053)
References: See also: Bug #35396788.
restrict_fk_on_non_standard_key
,
introduced in MySQL 8.4.0, prohibits creation of foreign keys
which reference only part of a composite key when enabled. This
system variable is enabled by default on MySQL HeatWave Service and resulted in
errors loading dumps which contained such keys when detected by
the Upgrade Checker utility's
foreignKeyReferences
check.
As of this release, a new compatibility option is added the dump
utilities, force_non_standard_keys
. This
disables checks for non-standard foreign keys, and cause the
loader to set the session value of
restrict_fk_on_non_standard_key
to OFF.
(Bug #36553849)
Primary keys defined on an ENUM
column were
reported as missing for dumps with
ocimds:true
. This was caused by a fix in an
earlier version which instructed the dump utility to ignore
primary keys or unique indexes which contain one or more
ENUM
columns when selecting an index for
chunking.
As of this release, information about the index selected for chunking and whether the table has a primary key is separated. (Bug #36493316)
References: See also: Bug #35180061.
It was not possible to run the Upgrade Checker utility against
an MySQL HeatWave Service DB System. An error was returned relating to missing
RELOAD
privileges. RELOAD
is not granted to MySQL HeatWave Service users.
RELOAD
is not required by the Upgrade Checker
when run against MySQL HeatWave Service DB Systems, it is only required against
MySQL 5.7.x. As such, the requirement is removed in this
release.
(Bug #36361159)
The Upgrade Checker utility did not validate the value of the
configPath
parameter.
As of this release, the value of configPath
is validated before running the upgrade checks.
(Bug #36332625)
The Upgrade Checker utility behaved inconsistently in the absence of certain privileges. Sometimes returning an error and sometimes attempting to run its checks. (Bug #36332031)
The Upgrade Checker utility's
sysvarAllowedValues
did not take into account
empty strings as valid values for certain variables, such as
ssl_cipher
, resulting in false negative
errors in the report.
(Bug #36298612)
It was not possible to use the Copy utilities with certain MySQL-compatible databases. SQL syntax errors were returned. (Bug #36297963)
util.collect_diagnostics()
failed with an
AttributeError
when run against an InnoDB
Cluster on which the Group Replication plugin was uninstalled
from one or more members. The utility attempted to retrieve
values for Group Replication system variables which did not
exist because the plugin was uninstalled.
Thanks to Ioannis Androulidakis for the contribution. (Bug #114707, Bug #36589677)
Under certain circumstances, the Upgrade Checker utility's
reserved keywords check did not generate warnings for the
FULL
and INTERSECT
keywords.
(Bug #114423, Bug #36424093)
Fixed an issue with non-ASCII character handling in the Upgrade
Checker utility's schemaInconsistency
check.
Thanks to Daniel Lenski and Amazon for the contribution. (Bug #114127, Bug #36340714)
MySQL Shell closed unexpectedly if a native Python object was passed to a Python plugin function. (Bug #36502096)
MySQL Shell did not prompt for a password if
-p
was specified on the command line without
an argument.
(Bug #36433418)
Under certain circumstances, a password prompt was not returned although no password was provided on the command line or defined in a configuration file. (Bug #36422502, Bug #36422492)
--no-password
did not work if a password was
defined in the server's configuration file or if it was provided
earlier in the command line.
(Bug #36422408)
If logSql
was set to
ERROR
, MySQL Shell logged the SQL without
filtering for unsafe statements. As of this release, the pattern
defined in logSql.ignorePatternUnsafe
is used
to filter unsafe SQL from the log.
Also, the pattern which triggered the filter is logged. (Bug #36014067)
Special characters, such as tab or newline, were not supported
in utility calls from the command line. For example, in the
following command, \t
was not properly
handled:
> mysqlsh root@localhost -- util import-table sample_us.tsv --schema=test --table=samples --fieldsTerminatedBy="\t"
(Bug #34887426)
Upgrading MySQL Shell 8.0.35, or higher, on Windows platforms, resulted in multiple installations instead of overwriting the existing installation. (Bug #113732, Bug #36259270)