MySQL Shell 9.2 Release Notes
This release introduces Routing Guidelines, a flexible and unified configuration interface enabling users to customize routing behavior. Routing Guidelines are defined as a JSON document, stored in the metadata schema.
A Routing Guideline document classifies all destinations in the topology and enables you to define strict rules on what type of client session is connected to what member of the topology.
A new class, RoutingGuideline
is added to the
AdminAPI. See the AdminAPI
section of the
MySQL Shell
JavaScript API or the
MySQL Shell
Python API.
The following methods were added to the Cluster, ClusterSet, and ReplicaSet classes:
create_routing_guideline(name[, json[,
options]])
get_routing_guideline([name])
routing_guidelines()
remove_routing_guideline(name)
import_routing_guideline(file, [options])
The following methods were updated:
set_routing_option()
routing_options()
router_options()
list_routers()
See Routing Guidelines. (WL #14022, WL #14023)
replicationLag
of
returned ReplicaSet
.status()null
if replication was idle.
As of this release, the following changes were made:
replicationLag
is set to
null
if the replication connection, or
SQL thread, is not running.
replicationLag
is set to
applier_queue_applied
when the last
queued transaction matches the last applied transaction, or
the applying transaction count is 0 (zero).
(Bug #35914505)
It was not possible to remove a member from a ReplicaSet using
with the ReplicaSet
.removeInstance()force
option enabled, if the member
was in an ERROR state.
(Bug #35282392)
The ReplicaSet metadata schema table,
INSTANCES
, was not populated properly when
upgrading the metadata schema to version 2.2.0. As a result,
MySQL Router did not recognize the topology and rejected connections
to it.
(Bug #116231, Bug #37101286)
As of this release, MySQL Shell no longer supports Instance Metadata Service (IMDS) v1. (Bug #37380810)
The schema MYSQL_AUTOPILOT
is excluded by
dump and load operations with ocimds:true
.
(Bug #37278169)
As of this release, the upgrade checker utility writes all compatibility issues and fixes to the log file, instead of only writing to the console. (Bug #37154456)
The util.checkForServerUpgrade
check,
routineSyntax
is renamed to
syntax
and now uses the SQL version of the
target server for the syntax checks.
See Utility Checks. (Bug #36589651, Bug #35640118, WL #16236)
It is now possible to dump and load binary logs using the following new utilities:
util.dumpBinlogs (outputUrl, {options})
:
Dumps binary logs generated since a specific point in time
to the given local or remote directory.
util.loadBinlogs (outputUrl, {options})
:
Loads binary log dumps created by MySQL Shell from a local
or remote directory.
See MySQL Shell Utilities. (WL #15977)
If convertBsonTypes
was enabled, the JSON
import utility failed when importing negative BSON values.
An error similar to the following was returned:
ValueError: Unexpected data, expected to find an integer string processing extended JSON for $numberInt at offset 25
(Bug #37243264)
Amazon RDS made the following changes in 8.0.36:
It is no longer possible to grant
BACKUP_ADMIN
.
It is no longer possible to lock MySQL system tables.
As a result, consistent dumps from Amazon RDS are not possible.
As of this release, if locking the MySQL system tables fails with an Access Denied error, a warning is printed and the dump continues.
Additionally, for non-Amazon RDS instances, if the user has the
BACKUP_ADMIN
privilege and LOCK
INSTANCE FOR BACKUP
succeeds, the MySQL system tables
are not locked.
(Bug #37226153)
Under certain circumstances, such as a large amount of data
chunking, the maxRate
dump option did not
properly limit the throughput due to a gap between the start of
the dump and the start of the data dump. As of this release,
maxRate
is used only when data is being
dumped.
(Bug #37216767)
MySQL Shell could hang when running a dump with
consistent: true
under an account which
lacked privileges to execute FLUSH TABLES WITH READ
LOCK
.
As of this release, query events are checked only if they
contain data, and GRANT
and
REVOKE
statements are flagged as unsafe.
(Bug #37158908)
The upgrade checker utility returned a false positive for foreign keys defined on tables in the Cluster metadata schema. (Bug #36975599)
The importTable
utility generated the
following error if run over an X Protocol connection:
Util.importTable: A classic protocol session is required to perform this operation. (RuntimeError)
As of this release, similarly to the other dump, export, load,
and copy utilities, importTable
creates a
classic connection for the operation.
(Bug #34582616)
As of this release, the Google V8 JavaScript engine is replaced by Oracle GraalVM. (Bug #34370637)
As of this release, the default value of
history.autoSave
is changed to
true
, enabling the command history by
default.
(Bug #31746532)
In MySQL Shell 8.0.40, RPM installation failed on Oracle Linux 8 due to a dependency on Python 3.9. As of this release, MySQL Shell bundles Python 3.13. (Bug #37479400)
If a Windows account name contained non-ASCII characters, MySQL Shell could not load Python plugins because the file path was not correctly encoded. "No such file or directory" error was returned. (Bug #37105233)
Under certain circumstances, a Ctrl+c key combination could lead to a deadlock. (Bug #35998250)