MySQL Shell Release Notes  /  Changes in MySQL Shell 9.3.0 (2025-04-15, Innovation Release)

Changes in MySQL Shell 9.3.0 (2025-04-15, Innovation Release)

AdminAPI Bugs Fixed

  • Removing a Replica Cluster from a ClusterSet using ClusterSet.remove_cluster() with dissolve:false failed with a query-related error similar to the following if the ClusterSet contained at least one Routing Guideline:

    ERROR: Error removing Replica Cluster: MySQL Error 1451: Failed to execute query on 
    Metadata server serverName:portNumber: 
    Cannot delete or update a parent row: a foreign key constraint fails
    .....
    NOTE: Reverting changes...
    Segmentation fault (core dumped)

    As of this release, all Routing Guidelines affected are reassigned to the target Cluster instead of the ClusterSet. If an active guideline is present, it is disabled. A warning is printed for each reassignment, indicating the guideline may no longer be suitable for a standalone Cluster. (Bug #37480018)

  • The AdminAPI required all members of an InnoDB Cluster to be ONLINE before allowing a switchover. Group Replication only requires that the group has quorum.

    As of this release, the precondition checks in Cluster.set_primary_instance() require quorum only, instead of requiring that all members are ONLINE.

    Note

    Cluster.switch_to_multi_primary_mode() and Cluster.switch_to_single_primary_mode() remain unchanged because auto_increment_* values must be updated on all cluster members, requiring all members are ONLINE.

    (Bug #37399749)

Utilities Added or Changed Functionality

  • If a prefix PAR does not end in a slash (/), an error similar to the following is returned:

            Invalid PAR, expected: 
            https://namespace.objectstorage.region.oci.customer-oci.com/p/secret/n/namespace/b/bucket/o/[prefix/]

    As of this release, if the slash is not present, the dump and load utilities add it automatically. (Bug #37629756)

  • It is now possible to define the Oracle Cloud Infrastructure Object Storage connection details using the oci-cli environment variables.

    For information on these variables, see CLI Environment Variables.

    • OCI_CLI_CONFIG_FILE

    • OCI_CLI_PROFILE

    • OCI_CLI_AUTH

    • Using API Key-based authentication:

      • OCI_CLI_USER

      • OCI_CLI_REGION

      • OCI_CLI_FINGERPRINT

      • OCI_CLI_KEY_CONTENT

      • OCI_CLI_KEY_FILE

      • OCI_CLI_PASSPHRASE

      • OCI_CLI_TENANCY

    • Session Token-based authentication:

      • OCI_CLI_REGION

      • OCI_CLI_KEY_FILE

      • OCI_CLI_PASSPHRASE

      • OCI_CLI_TENANCY

      • OCI_CLI_SECURITY_TOKEN_FILE

    (Bug #37592840)

  • The mysql_option_tracker_persister role is now excluded from the dump when ocimds: true and is excluded when loading a dump into a MySQL HeatWave DB System. (Bug #37457569)

  • The Upgrade Checker now reports potential corruption of spatial indices in tables. It is possible, when updating a geometry field, to corrupt the spatial index, resulting in rows becoming invisible or even cause a crash when deleted and replaced with new records. The Upgrade Checker now warns about possible corruption on every table containing a spatial index.

    This check reports only if one of the following conditions is met:

    • Server version >= 8.0.3

    • Server ersion < 8.0.41 (on 8.0 series only)

    • Server version < 8.4.4 (on 8.4 series only)

    • Server version < 9.2.0 (on 9 series only)

    • Target version >= 8.0.41 (on 8.0 series only)

    • Target version >= 8.4.4 (on 8.4 series only)

    • Target version >= 9.2.0 (on 9 series only)

    (Bug #37360136)

  • A timeout option is added to the Upgrade Checker utility, checkTimeout: n. The timeout value (seconds) applies to each check performed by the utility. If the timeout is reached while a check is being performed, the check is cancelled and the utility starts the next check and resets the timeout.

    See Running the Utility. (Bug #111769, Bug #35608739, WL #16757)

  • MySQL Shell dump, load, and copy utilties now support libraries. The following were added:

    • libraries: (boolean) enables or disables the inclusion of libraries. Default is true.

      Added to dumpInstance(), dumpSchemas(), copyInstance(), and copySchemas().

    • includeLibraries: (array of strings) List of libraries to include.

      Added to dumpInstance(), dumpSchemas(), copyInstance(), copySchemas(), and loadDump().

    • excludeLibraries: (array of strings) List of libraries to exclude.

      Added to dumpInstance(), dumpSchemas(), copyInstance(), copySchemas(), and loadDump().

    See MySQL Shell Utilities.

    See Using JavaScript Libraries for information on library support. (WL #16731)

Utilities Bugs Fixed

  • Dump and load operations failed randomly due to a bug in the bundled Curl package.

    Curl is upgraded to 8.12.1 in this release. (Bug #37576066)

  • The Upgrade Checker did not display a warning for the deprecated plugins rpl_semi_sync_master and rpl_semi_sync_slave. (Bug #37516017)

  • MySQL Shell was updated for compatibility with the privilege changes made in MySQL HeatWave Service.

    The following privileges were added to MySQL HeatWave Service:

    • FLUSH_PRIVILEGES

    • TRANSACTION_GTID_TAG

    (Bug #37513534)

  • The Upgrade Checker failed to check privileges if SQL_MODE contained NO_BACKSLASH_ESCAPES.

    The following error was returned:

    error: Unable to check permissions: You have an error in your SQL syntax; check the manual that 
    corresponds to your MySQL server version for the right syntax to use near
    'root\'@\'localhost\'' LIMIT 1' at line 1
    Util.checkForServerUpgrade: 
    The upgrade check needs to be performed by user with PROCESS, and SELECT privileges. (RuntimeError)

    (Bug #37484875)

  • It is no longer necessary to set ocimds:true for a dump from a MySQL HeatWave Service DB System which will be imported into another MySQL HeatWave Service DB System. (Bug #37419320)

  • Dump and load utilities did not retry transfers to HTTP storage if an error occurred. They also did not report HTTP errors when reading from HTTP storage. This also affected PARs.

    As of this release, transfers are retried and HTTP errors are reported. (Bug #37408073)

  • util.importTable(), importing from a single file, could close unexpectedly if one of the background threads encountered an error. An error similar to the following was displayed:

            libc++abi: terminating
            stack trace

    (Bug #37408046)

Functionality Added or Changed

  • The connection option plugin-authentication-webauthn-device is added in this release. This option enables you to specify the libfido2 device to use. Default is 0 (first device). (WL #16770)

Bugs Fixed

  • Under certain circumstances MySQL Shell could crash during auto-completion on options such as shell.options.history.auto. (Bug #37528585)

  • The SQL code completion for several statements has been corrected to remove the extra CREATE_SYMBOL from the grammar. This issue resulted in incorrect suggestions when using SQL code completion. (Bug #37393439)

  • MySQL Shell did not honor Ctrl+c interrupts when running stored procedures, such as sys.heatwave_load. The procedure continued to run despite multiple Ctrl+C attempts, and displayed a "Result printing interrupted" message after completion. This issue was specific to stored procedures. (Bug #37345487)

  • If the query_helper was used with trigger filters, MySQL Shell closed unexpectedly. (Bug #37207914)


PREV   HOME   UP