MySQL Forums
Forum List  »  Announcements

MySQL Shell 1.0.11 GA has been released
Posted by: Sreedhar S
Date: November 30, 2017 08:07AM

Dear MySQL Users,

A new GA (general availability) version of MySQL Shell
(a component of the MySQL Server) has been made
available: MySQL Shell 1.0.11 GA. The MySQL Shell is provided
under Oracle's dual-license.

MySQL Shell is an interactive JavaScript, Python and SQL console
interface, supporting development and administration for the MySQL
Server. It provides scriptable API that supports the creation and
management of MySQL InnoDB clusters, as well as a modern fluent CRUD
API for the MySQL Document Store.

The AdminAPI provides an integrated solution for high availability and
scalability using InnoDB based MySQL databases, without requiring
advanced MySQL expertise.

The Document Store DevAPI enables developers and DBAs to create
"schema-less" JSON document collections and perform Create, Update,
Read, Delete (CRUD) operations on those collections with little to
no knowledge of the SQL language.

Additionally, MySQL Shell provides partial compatibility with the
mysql command line client by supporting many of the same command line
options. As with the mysql command line, MySQL Shell can also be used
to connect to and send SQL commands to the MySQL server using the
standard MySQL network protocol.

For more information about how to configure and work with an InnoDB cluster

For more information about how to use MySQL Shell and the MySQL Document
Store support see

For full documentation on MySQL Server, MySQL Shell and related topics,

If you want to write applications that use the CRUD based X DevAPI
use the latest MySQL Connectors for your language of choice. You can
also find documentation about Connectors in the MySQL documentation

For more information about how to download MySQL Shell, see

We welcome and appreciate your feedback and bug reports, see


Changes in MySQL Shell 1.0.11          (2017-11-30)

   Functionality Added or Changed

     * When you create clusters or add instances you can now
       override the default group name, local addresses, and
       group seeds. This makes it easier to customize your
       clusters. The following options were added to the
       dba.createCluster() and cluster.addInstance() commands:

          + use groupName with dba.createCluster() to set the
            name of the cluster

          + use localAddress to set the address which an
            instance provides to communicate with other

          + use groupSeeds to set the instances used as seeds
            when instances join the cluster
       For more information, see Customizing InnoDB clusters
       (Bug #26485254, Bug #26838005)

     * With the addition of and WL#10611
       ( and
       WL#10960 (,
       it was not possible to add or rejoin instances that
       belonged to a cluster (or a replication group) because
       super_read_only=ON was being set by Group Replication
       when stopping. To ensure that AdminAPI supports instances
       running MySQL 8.0.2 and later, the following functions
       have been modified:

          + dba.configureLocalInstance()

          + dba.createCluster()

          + dba.rebootClusterFromCompleteOutage()

          + dba.dropMetadataSchema()
       Now, if any of these functions is issued against an
       instance which has super_read_only=ON, in interactive
       mode you are given the choice to set super_read_only=OFF.
       To force the function to set super_read_only=OFF in a
       script, pass the clearReadOnly option set to true. For
       example dba.configureLocalInstance({clearReadOnly:
       true}). For more information see Super Read-only and
       (Bug #26422638)

   Bugs Fixed

     * Account validation did not work correctly unless the
       session account existed. Now, validation is done using
       the account that was authenticated by the server. (Bug

     * The AdminAPI in MySQL Shell for working with InnoDB
       cluster only supports TCP connections to server
       instances. The AdminAPI now checks that a TCP connection
       is in use before starting an operation that requires
       database access, instead of attempting the operation with
       another connection type and not succeeding. (Bug

     * Sometimes the dba.addInstance() command failed with an
       error indicating that the server was in RECOVERING state
       despite being ONLINE. The fix ensures the correct
       instance state is returned. (Bug #26834542)

     * If the user running MySQL Shell did not have write
       permissions to the option file configured by AdminAPI, no
       error was displayed. (Bug #26830224)

     * Using AdminAPI commands on Windows that required SSL
       resulted in an error due to the Python version being
       used. (Bug #26636911)

     * Creating an InnoDB cluster from an existing Group
       Replication deployment, by using the adoptFromGR option
       with the dba.createCluster() command, would fail with an
       error stating that the instance was already part of a
       replication group. The issue was only present in the
       MySQL Shell default wizard mode. The fix ensures that the
       interactive layer of the dba.createCluster() command
       allows the use of the adoptFromGR option. (Bug #26485316)

     * The warnings generated when creating and adding sandbox
       instances have been improved. (Bug #26393614)

     * When working with instances that had
       require_secure_transport=ON, AdminAPI commands that
       required a connection to the instance failed. (Bug

     * The Cluster.dissolve() command was trying to stop Group
       Replication on all of the instances registered in the
       metadata which lead to connection errors if any of those
       instances were not contactable, in other words with the
       state (MISSING). The fix ensures that only instances
       which can be contacted, in other words with the state
       ONLINE, are stopped. (Bug #26001653)

     * When adding instances to an InnoDB Cluster using the
       appropriate AdminAPI operations, checks are performed to
       verify the compatibility of any existing tables. If
       incompatible tables (for example using MyISAM) are
       detected then an error is issued. However the error
       message was referring to an option not available for the
       AdminAPI operations: --allow-non-compatible-tables. (Bug

     * MySQL Shell created a logger but did not deallocate it on
       exiting the shell. (Bug #25238576)

     * The cluster.rejoinInstance() command attempted to rejoin
       an instance even if was already part of the cluster. Now,
       only instances in the MISSING state are accepted by
       cluster.rejoinInstance(). Attempting to rejoin an
       instance in any other state fails with an error. (Bug
       #87873, Bug #26870329)

     * On Unix, if Python 3 was installed AdminAPI commands
       failed. (Bug #87731, Bug #26785584)

     * When using the dba.checkInstanceConfiguration() and
       dba.configurelocalinstance() commands, the account being
       used was not being checked if it had enough privileges to
       actually execute the command. The fix ensures that
       account has the required privileges before proceeding.
       This also required a change of the privileges given to
       clusterAdmin users. (Bug #87300, Bug #26609909)

     * Arrays and Objects now accept the IN operator. For
       example: collection.find("'Fred' IN username")

On Behalf of the MySQL/ORACLE RE Team
Sreedhar Sreedhargadda 

Options: ReplyQuote

Written By
MySQL Shell 1.0.11 GA has been released
November 30, 2017 08:07AM

Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.