Databases for MySQL 8.4 遺伝的アルゴリズム

豊富で成熟したクラウドデータベースポートフォリオを提供するという当社のコミットメントの一環として、 Cloud Databases は MySQL バージョン 8.4 をリリースします。

新しい Databases for MySQL のデプロイメント

新しい Cloud Databases デプロイメントの場合は、既存の v8.0 インスタンスのバッ クアップを取り、それを v8.4 デプロイメントにインポートします。 mysqldump や mydumper などのツールを使用して Databases for MySQL v8.4 にインポートします。 詳細については、 「Databases for MySQL への移行 」を参照してください。

既存の Databases for MySQLv8.0 デプロイメント

既存の v8.0 のデプロイメントを IBM Cloud® Databases for MySQL から新しい v8.4 のメジャーバージョンに移行するには、メジャーバージョンアップグレードを実行する必要があります。 推奨される手順は、既存の v8.0 デ プロ イメントのバックアップを、 MySQL を実行する新しいデプロイメントに復元することです。 v8.4 このアップグレードプロセスは、UI、CLI、またはAPIを使用して開始できます。 このメジャーバージョンアップグレードの実行に関する詳細な手順については、 「新しいメジャーバージョンへのアップグレード」 を参照してください。

アップグレードが完了すると、変更は元に戻せません。 変更は互換性がなく、 MySQL 8.4 のデータディレクトリを MySQL 8.0 で使用することはできません。 MySQL v8.0 のバックアップは保持してください。変更を元に戻す必要がある場合に、 MySQL v8.0 のインスタンスで復元するのに役立ちます。

アップグレードの前提条件

アップグレードを試みる前に、 アップグレードの準備が整っていることを確認するため、 MySQL's アップグレードに向けたインストールの準備を参照してください。

MySQL 8.4LTS 入門

MySQL 8.4は新しい長期サポート(LTS)リリースです。 LTS版として、その機能は 8.4.0 の初期リリース後に安定し、固定されます。 MySQL 8.0のサポート終了に伴い、継続的なサポート、バグ修正、セキュリティ更新のためには、 MySQL 8.4への移行が不可欠です。

Databases for MySQL の主な機能変更点 8.4

Databases for MySQL MySQL バージョン 8.4: を実行するデータベースインスタンス向けに、以下の新機能を導入します

  • 認証: MySQL 8.4 は、デフォルトの認証プラグインとして caching_sha2_password を義務付け、default_authentication_plugin 変数を完全に削除します。 現在mysql_native_passwordを使用しているお客様は、接続エラーを防ぐためアカウントを caching_sha2_password に移行する必要があります。 詳細については、 セクション 8.4.1.1 「 ネイティブプラグイン認証 を参照してください。
  • MySQL 8.4: レプリケーション用語の更新: MySQL 8.4 は包括的な言語を強制するため、SQL構文から 「マスター 」や 「スレーブ 」といった非包括的な用語を削除しました。これにより、非推奨のレプリケーションSQL文はサポートされなくなり、構文エラーを引き起こします。 例えば、の代わりに SHOW BINARY LOG STATUS を使用 SHOW MASTER STATUS し、の代わりに SHOW REPLICA STATUS``SHOW SLAVE STATUS を使用してください。 自動化と設定は、これらの新しい名前を使用するように更新する必要があります。 ステートメント変更の完全なリストはこちらです: MySQL 8.4 の新機能( MySQL 8.0 以降
  • パラメータの動作変更:
    • binlog_transaction_compression はデフォルトで ON に設定され、ネットワーク転送時間とストレージ使用量を削減します。
    • replica_parallel_workers はデフォルトで 200 に設定され、レプリカでのトランザクション再実行を高速化するために並列処理を大幅に増加させます。
    • innodb_flush_log_at_trx_commit は、 プライマリノードで最大のデータ耐久性を確保するため、デフォルトで 1 に設定されています。
    • binlog_transaction_compression_level_zstd は、 圧縮効率と CPU オーバーヘッドのバランスを取るため、デフォルトで 3 に設定されています。
  • 廃止または削除されたパラメータ:
    • AUTO_INCREMENTMySQL 8.4 は、列に対する on FLOAT または DOUBLE``AUTO_INCREMENT cols をサポートしなくなりました。 アップグレード前に、この組み合わせを使用しているテーブルをすべて修正し、アップグレードの失敗を防ぐ必要があります。
    • レプリケーションステートメントと変数の削除:多数の MAS TER/SLAVE*コマンドおよびステータス変数が削除されました。 これは、これらのステータス変数に依存するスクリプトやツールが機能しなくなることを意味します。 削除されたステートメントと変数の完全なリストについては、 [ MySQL 8.0 以降の MySQL 8.4](https://dev.mysql.com/doc/refman/8.4/en/mysql-nutshell.html){: .external} の新機能を参照してください。
    • 認証変数: default_authentication_plugin 変数は削除されました。
  • 主な変更点:
    • 新規予約キーワード: MySQL 8.4 は、 PARALLEL``,QUALIFY``MANUAL``,, TABLESAMPLE, などのキーワードを予約します。 スキーマでこれらを引用符なしの識別子として使用している場合、アップグレード後にクエリが失敗します。 アップグレード前にこれらの識別子を監査し、見積もりを取得してください。
    • 空間インデックスのアップグレード要件:アップグレードパスにおける既知の問題により、空間インデックスが破損する可能性があります。 データの整合性を確保するため、アップグレード前にすべての空間インデックスを削除し、移行完了直後に再作成することを推奨します。
    • 自動ヒストグラム更新: MySQL 8.4 では自動ヒストグラム更新が導入され、手動更新の必要性を排除することでクエリ最適化が強化されます。 特定のヒストグラムで自動更新を有効にするには、単に オプション AUTO UPDATE 付きで ANALYZE TABLE UPDATE HISTOGRAM 実行してください。
    • 特権強化:特権 SET_USER_ID は および SET_ANY_DEFINERALLOW_NONEXISTENT_DEFINER 置き換えられました。
    • GTID: トランザクショングループにGTIDを付与する機能を導入し、追跡機能を強化します。

MySQL 8.4の全機能と変更点の一覧については、 MySQL ドキュメント 内の「 MySQL 8.0以降の MySQL 8.4の新機能」 を参照してください。

半同期から非同期への移行

Databases for MySQL ( v8.0 )から v8.4 へのアップグレード時には、デフォルトのレプリケーションアーキテクチャが半同期レプリケーションから非同期レプリケーションに移行されます。 この変更により、プライマリノードがレプリカの承認待ちで停止しないことが保証され、書き込みパフォーマンスと耐障害性が向上します。これにより、データベース環境の堅牢性と一貫した高速性が実現されます。 これによりフェイルオーバー時間を短縮し、システム全体の応答性を向上させることで、高可用性が強化されます。 詳細については、 「 Databases for MySQL の高可用性と災害復旧の理解」 を参照してください。