MySQL Blog Archive
For the latest blogs go to
MySQL Shell 8.0.20 - What's New?

The MySQL Development team is proud to announce version 8.0.20 of the MySQL Shell, with the following features:

  • Admin API
    • Improvements on the admin account handling for MySQL InnoDB cluster and MySQL InnoDB ReplicaSet as well as for MySQL Router
    • Command line integration for MySQL InnoDB ReplicaSet
    • Isolation of InnoDB ReplicaSet operations
  • Connection compression options.

Admin API Improvements

The following functions have been added to enable setting up administrator and router accounts for InnoDB cluster and InnoDB ReplicaSet:

  • <Cluster>.setupAdminAccount(user, [options])
  • <ReplicaSet>.setupAdminAccount(user, [options])
  • <Cluster>.setupRouterAccount(user, [options])
  • <ReplicaSet>.setupRouterAccount(user, [options])

Some command line parameters were available to integrate operations for InnoDB cluster in command line calls, these include:

  • –cluster: Ensures that the target server is part of an InnoDB cluster and automatically creates a cluster global variable to work with it.
  • –redirect-primary: ensures that the target server is part of an InnoDB cluster and if it is not a primary, find the cluster’s primary and connect to it.
  • –redirect-secondary: ensures that the target server is part of an InnoDB cluster and if it is not a secondary, find a secondary and connect to it.

On this release the a new parameter –replicaset has been introduced; it ensures that the target server us part of an InnoDB ReplicaSet and sets a replicaset global variable to work with it.

In addition, the –redirect-primary and –redirect-secondary parameters also work with InnoDB ReplicaSets.

A more detailed description of the introduced Admin API enhancements is available at MySQL Shell Admin API – What’s New in 8.0.20?

Connection Compression Options

On this version the MySQL Shell  improves the handling of compression when establishing a connection to a MySQL Server, this is done through the following options:

The compression option has been improved to support the following values:


For backwards compatibility TRUE and 1 continue being supported as equivalents to REQUIRED. In a similar way FALSE and 0 are equivalent to DISABLED.

The default value for the compression option is PREFERRED.

A new compression-algorithms option has been introduced to allow defining the compression negotiation to be done when connection is established. Following is the list of supported values:

  • zlib
  • zstd
  • uncompressed

In addition, when using the X protocol, the lz4 algorithm is also supported.

The value for compression-algorithms is a comma separated list of the values listed above in order of preference. When the connection is established, the compression algorithm to be used will be the first in the list that is supported by the target MySQL Server.

The uncompressed value should be used to allow the connection to be established even if none of the previous algorithms was supported by the target MySQL Server.

The compression-level option allows specifying the compression level to be used when compression is enabled.

For additional information regarding the compression options refer to the MySQL Shell User Guide.


For details about the MySQL Shell please take a look at the MySQL Shell User Guide.

For additional details about features introduced by this version and the full list of fixed bugs take a look at the Release Notes.

Don’t forget to download it and give it a try, your feedback is very welcome!

You can reach us at #shell channel in