<div id="docs-body">
 <div class="chapter">
  <div class="titlepage">
   <div>
    <div>
     <h1 class="title">
      <a name="mysql-shell-userguide">
      </a>
      Chapter 21 MySQL Shell
     </h1>
    </div>
   </div>
  </div>
  <a class="indexterm" name="idm46045128188560">
  </a>
  <a class="indexterm" name="idm46045128187520">
  </a>
  <a class="indexterm" name="idm46045128186032">
  </a>
  <p>
   MySQL Shell is an advanced client and code editor for MySQL Server.
    In addition to the provided SQL functionality, similar to
   <a class="link" href="mysql.html" title="6.5.1 mysql — The MySQL Command-Line Client">
    <span class="command">
     <strong>
      mysql
     </strong>
    </span>
   </a>
   , MySQL Shell provides scripting
    capabilities for JavaScript and Python and includes APIs for working
    with MySQL. MySQL Shell is a component that you can install
    separately.
  </p>
  <p>
   The following discussion briefly describes MySQL Shell's
    capabilities. For more information, see the MySQL Shell manual,
    available at
   <a class="ulink" href="/doc/mysql-shell/en/" target="_top">
    https://dev.mysql.com/doc/mysql-shell/en/
   </a>
   .
  </p>
  <p>
   MySQL Shell includes the following APIs implemented in JavaScript
    and Python which you can use to develop code that interacts with
    MySQL.
  </p>
  <div class="itemizedlist">
   <ul class="itemizedlist" style="list-style-type: disc; ">
    <li class="listitem">
     <p>
      The X DevAPI enables developers to work with both relational
        and document data when MySQL Shell is connected to a MySQL
        server using the X Protocol. This enables you to use MySQL as a
        Document Store, sometimes referred to as
      <span class="quote">
       “
       <span class="quote">
        using
        NoSQL
       </span>
       ”
      </span>
      . For more information, see
      <a class="xref" href="document-store.html" title="Chapter 22 Using MySQL as a Document Store">
       Chapter 22,
       <i>
        Using MySQL as a Document Store
       </i>
      </a>
      . For documentation on the
        concepts and usage of X DevAPI, which is implemented in
        MySQL Shell, see
      <a class="ulink" href="/doc/x-devapi-userguide/en/" target="_top">
       X DevAPI User Guide
      </a>
      .
     </p>
    </li>
    <li class="listitem">
     <p>
      The AdminAPI enables database administrators to work with
        InnoDB Cluster, which provides an integrated solution for high
        availability and scalability using InnoDB based MySQL databases,
        without requiring advanced MySQL expertise. The AdminAPI also
        includes support for InnoDB ReplicaSet, which enables you to
        administer a set of MySQL instances running asynchronous
        GTID-based replication in a similar way to InnoDB Cluster.
        Additionally, the AdminAPI makes administration of MySQL Router
        easier, including integration with both InnoDB Cluster and
        InnoDB ReplicaSet. See
      <a class="ulink" href="/doc/mysql-shell/8.4/en/admin-api-userguide.html" target="_top">
       MySQL AdminAPI
      </a>
      .
     </p>
    </li>
   </ul>
  </div>
  <p>
   MySQL Shell is available in two editions, the Community Edition and
    the Commercial Edition. The Community Edition is available free of
    charge. The Commercial Edition provides additional Enterprise
    features at low cost.
  </p>
 </div>
 <br/>
</div>
