-
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 theAdminAPI
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
returnedReplicaSet
.status()null
if replication was idle.As of this release, the following changes were made:
replicationLag
is set tonull
if the replication connection, or SQL thread, is not running.replicationLag
is set toapplier_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 theReplicaSet
.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 withocimds: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 tosyntax
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 andLOCK 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 executeFLUSH TABLES WITH READ LOCK
.As of this release, query events are checked only if they contain data, and
GRANT
andREVOKE
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 totrue
, 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)