MySQL Shell 8.0.32が2023年1月18日にリリースされました。いくつかのバグ修正とともに新機能も追加されています。このリリースで追加された機能を確認しましょう。

新機能

  • アップグレード・チェッカーにて、MySQLサーバ8.0.32で非推奨となったオブジェクト名の先頭にドル記号($)を利用しクォートしていないものを抽出
  • MySQL Shellで実行されたSQL文を記録するlogSqlオプションに複数の変更
  • MySQLのログイン・パス(login paths)と設定ファイル(print-defaults, no-defaults, defaults-file, defaults-extra-file, defaults-group-suffix, login-path)をサポート。設定ファイル内の[mysqlsh][client]の内容を読み込む。
  • 例: .my.cnf 内にMySQLサーバへの接続情報が書かれている場合はmysqlshは自動的に接続:
$ cat ~/.my.cnf
[client]
user=root
host=lefred
password=lefreptwasswort

$ mysqlsh
MySQL Shell 8.0.32-commercial

Copyright (c) 2016, 2023, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its affiliates.
Other names may be trademarks of their respective owners.

Type '\help' or '\?' for help; '\quit' to exit.
Creating a Classic session to 'root@localhost'
Fetching schema names for auto-completion... Press ^C to stop.
Your MySQL connection id is 17
Server version: 8.0.32-commercial MySQL Enterprise Server - Commercial
No default schema selected; type \use <schema> to set one.
MySQL  lefred  JS > 

MySQL InnoDB ReplicaSet, Cluster & ClusterSet

これらの機能を用いると、多様なビジネス要件で求められるMySQLの高可用性構成災害対策構成を数少ないコマンドで簡単に構築できます。また MySQL Operator for Kubernetes の中でも利用されています。

8.0.32で追加された新機能:

  • ReplicaSetのレプリケーション・チャンネルの作成時にデフォルトでSSLが有効
  • MySQL Routerの新しいルーティング・オプション: use_replica_primary_as_rw: target_clusterPRIMARY に設定されていない特定のクラスターをターゲットとしてMySQL Routerの参照更新用(R/W)のポートを開くかどうかを設定。レプリカ・クラスターの参照更新用のポートを利用可能とする。レプリカ・クラスターは引き続き参照専用のアクセスのみ受け付ける。クラスター全体のスイッチオーバーかフェールオーバーが発生してもR/Wポートは変更されない。このオプションはMySQL ShellのAdminAPIの <ClusterSet>.setRoutingOption() を使用して設定できます:

MySQL InnoDB ClusterSet use_replica_as_rw example

 

MySQL Shellのダンプ&ロードユーティリティの改良

8.0.21にてMySQL Shellのダンプ&ロードのツールが導入されました。 このユーティリティはマルチスレッドでのデータのダンプおよびロードが可能で、各社のクラウドのオブジェクト・ストレージのプロトコルをサポートする、データの論理バックアップとロードを高速かつ柔軟にするツールです。対象のオブジェクト・ストレージはOCIのオブジェクト・ストレージ、AWS S3、そしてAzure Blob Storageが今回追加されました。最初の機能リリース以降、パフォーマンスや機能の改良が続けられてます。

 MySQL Shell Dump vs Benchmarks 

8.0.32では以下の機能が追加されました:

  • データのインポートやエクスポート、ダンプやロードの対象としてMicrosoft Azure Blob storage のサポート
  • AWS S3サポートの改良:  AWSの環境変数やs3Regionオプションのサポート
  • 主キーやユニークキーのないテーブルの分割のサポート
  • exportTable(), dumpInstance(), dumpSchemas(), dumpTables() の各ユーティリティに以下のオプション追加:
    • where: SQLの条件を満たすデータのみエクスポートを可能に
    • partitions: 指定したパーティションのみのエクスポートを可能に
    • fieldsTerminatedBy, fieldsEnclosedBy, fieldsEscapedBy, fieldsOptionallyEnclosed, linesTerminatedBy, dialect

追加情報

すべてのバグ修正と機能改善はリリースノートに掲載しています https://dev.mysql.com/doc/relnotes/mysql-shell/8.0/en/news-8-0-32.html

MySQL Shell 8.0.32のリリースにあわせてMySQL Server, NDB Cluster, MySQL Connectors, MySQL Workbench, MySQL Shell, MySQL Router および MySQL Operator for KubernetesのマイナーバージョンおよびMySQL Server 5.7.41がリリースされています。
各リリースの変更点はリリースノートをご参照ください https://dev.mysql.com/doc/#current-release-notes

  • MySQL ShellおよびMySQL Serverのコミュニティ版のダウンロードはこちら https://dev.mysql.com/downloads/.
  • MySQL Enterprise版のバイナリはMy Oracle Supportからご利用いただけます: https://support.oracle.com (“Patches & Updates”タブ内の“Patch Search”から“Product or Family (Advanced Search)”を選択してください)
  • またはOracle Software Delivery Cloud  http://edelivery.oracle.com/ からもMySQL Enterprise版バイナリをご利用いただけます。