Upgrade to Pro — share decks privately, control downloads, hide ads and more …

MySQL 8.4 LTS to MySQL 9.7 LTS

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for yoku0825 yoku0825
April 27, 2026

MySQL 8.4 LTS to MySQL 9.7 LTS

日本MySQLユーザ会会(MyNA会) 2026年04月@オンライン
https://mysql.connpass.com/event/387966/

Avatar for yoku0825

yoku0825

April 27, 2026

More Decks by yoku0825

Other Decks in Technology

Transcript

  1. 俺はこういうのがほしかった! bugsでフィードバックしました MySQL Bugs: #120348: Doc Request: What Is New

    in MySQL 9.7 between MySQL 8.4 LTS and MySQL 9.7 LTS Oracleのアカウント作っちゃった人とかいれば “Affects me” で応援してください 5/34
  2. TL;DR 実質開発期間が1年だった8.4よりも新機能はずっとある ただ、5.6 ONLINE ALTER TABLE, 5.7 innodb_buffer_pool_size / offline_mode,

    8.0 INSTANT ALTER TABLE みたいなキラーコンテンツはまだ見 当たらないかも 載ってて出てない(商用版からコミュニティ版にバックポートされる予定だった)機 能もまだあるので、ひょっとしたらしばらくはバックポートがあるかも A New Era of MySQL Community Engagement: Public Community Roadmap Webinar Highlights ‐ しかしON/OFF可能であることを強く望む ‐ 8/34
  3. 8.0 mysql80 8> SELECT @@version; +-----------+ | @@version | +-----------+

    | 8.0.46 | +-----------+ 1 row in set (0.00 sec) mysql80 8> SELECT '2016-09-12' AS `8.0.0`, '2018-04-19' AS `8.0.11 GA`, '2026-04-21' AS `8.0 .46 Final`; +------------+------------+--------------+ | 8.0.0 | 8.0.11 GA | 8.0.46 Final | +------------+------------+--------------+ | 2016-09-12 | 2018-04-19 | 2026-04-21 | +------------+------------+--------------+ 1 row in set (0.00 sec) 11/34
  4. 8.4 mysql84 8> SELECT @@version; +-----------+ | @@version | +-----------+

    | 8.4.9 | +-----------+ 1 row in set (0.00 sec) mysql84 8> SELECT '2024-04-30' AS `8.4.0 LTS`, '2026-04-21' AS `8.4.9 Latest`, '2032-04' AS `8.4.x EOL`; +------------+--------------+-----------+ | 8.4.0 LTS | 8.4.9 Latest | 8.4.x EOL | +------------+--------------+-----------+ | 2024-04-30 | 2026-04-21 | 2032-04 | +------------+--------------+-----------+ 1 row in set (0.01 sec) 12/34
  5. 9.7 mysql97 9> SELECT '2026-04-21' AS `9.7.0 LTS`, '2034-04' AS

    `9.7.x EOL?`; +-----------+ | @@version | +-----------+ | 9.7.0 | +-----------+ 1 row in set (0.004 sec) mysql97 9> SELECT '2026-04-21' AS `9.7.0 LTS`, '2034-04' AS `9.7.x EOL?`; +------------+------------+ | 9.7.0 LTS | 9.7.x EOL? | +------------+------------+ | 2026-04-21 | 2034-04 | +------------+------------+ 1 row in set (0.001 sec) 13/34
  6. MySQL 8.0 vs MySQL 8.4 (1) mysql_native_password のデフォルトOFF tagged GTIDの追加

    InnoDB関連パラメータのデフォルト変更 Group ReplicationのDDL中のPrimary変更ブロック いくつかのDynamic Privilegeの追加 MySQL :: MySQL 8.4 Reference Manual :: 1.4 What Is New in MySQL 8.4 since MySQL 8.0 15/34
  7. MySQL 8.0 vs MySQL 8.4 (2) information_schema.processlist の非推奨化 レプリケーション用語の変更 サーバーでもクライアントでも

    --ssl のオプションの変化 FLUSH HOSTS ステートメントの削除 mysql_ssl_rsa_setup, mysqlpump, mysql_upgrade コマンドの削除 MySQL :: MySQL 8.4 Reference Manual :: 1.4 What Is New in MySQL 8.4 since MySQL 8.0 16/34
  8. MySQL 8.4 vs MySQL 9.7(1) mysql_native_password の完全削除(9.0) イベントスケジューラがプレースホルダーを使えるように修正(9.0) JavaScriptでストアドプロシージャ(9.0 EE)

    EXPLAIN ANALYZE FORMAT=json のサポート(9.0) Primary Key, Unique Key以外の親がFKでデフォルトで作成不可(9.0) VECTORデータ型の追加(9.0) ただし DISTANT 関数はEEのみである ( ー`дー´)キリッ ‐ MySQL :: MySQL 9.7 Release Notes :: Changes in MySQL 9.0.0 (2024-07-01) 18/34
  9. MySQL 8.4 vs MySQL 9.7(2-1) CREATE DATABASE と DROP DATABASE

    がアトミックに(9.1) component_keyring_aws が追加(9.1 EE) Node.jsのNDBCLUSTER APIが削除(9.1) CREATE VIEW IF NOT EXISTS がサポート(9.1) MySQL :: MySQL 9.7 Release Notes :: Changes in MySQL 9.1.0 (2024-10-15) 19/34
  10. MySQL 8.4 vs MySQL 9.7(2-2) 今までSELECTの時すらトリガーのSQL文をハードパースしていたのを修正(9.1) CPUスレッドが32未満の時に innodb_log_writer_threads がOFFになるように修正 (9.1)

    TempTable_count_hit_max_ram が追加されて5.7とそれ以前の Created_tmp_disk_tables と同じ使い心地になるはず(9.1) INSTANT DDLが64世代までだったのが255世代までリビルドなしで継続可能 (9.1) connection_memory_limit の導入(9.1) MySQL :: MySQL 9.7 Release Notes :: Changes in MySQL 9.1.0 (2024-10-15) 20/34
  11. MySQL 8.4 vs MySQL 9.7(3) FLUSH PRIVILEGES ステートメントが非推奨化(9.2) Version Token

    Pluginが非推奨化(9.2) MySQL :: MySQL 9.7 Release Notes :: Changes in MySQL 9.2.0 (2025-01-21) 21/34
  12. MySQL 8.4 vs MySQL 9.7(4) innodb_undo_tablespaces, innodb_log_file_size, innodb_log_files_in_group が削 除(9.3)

    mysqld がコンテナ内で動いていると検知された時にパラメータを自動調整するよ うに(9.3) mysqldump --users が追加(9.3) mysql の xx rows in set (0.052 sec) のマイクロ秒対応(9.3) MySQL :: MySQL 9.7 Release Notes :: Changes in MySQL 9.3.0 (2025-04-15) 22/34
  13. MySQL 8.4 vs MySQL 9.7(5) early_plugin_load の非推奨化(9.4) temptable_use_mmap の削除(9.4) MD5,

    SHA1 関数の非推奨化(9.4) JSON Duality Viewのサポート(9.4) mysql -e "SHOW REPLICA STATUS\G" がデフォルトではシンタックスエラーに(9.4) mysql --commands が必要 ‐ MySQL :: MySQL 9.7 Release Notes :: Changes in MySQL 9.4.0 (2025-07-22) 23/34
  14. MySQL 8.4 vs MySQL 9.7(6) activate_mandatory_roles の追加(9.5) caching_sha2_password のダイジェストラウンドが5,000から10,000に変更(9.5) binlog_transaction_dependency_history_size

    のデフォルトが25,000から 1,000,000に変更(9.5) replica_parallel_type の削除(9.5) semisync_master, semisync_slave プラグインの完全な削除(9.5) innodb_log_writer_threads のON/OFF計算式が変更(9.5) mysqldm なる新クライアントが追加 (9.5 EE) レプリケーション関連通信のデフォルトがSSL/TLS有効に(9.5) MySQL :: MySQL 9.7 Release Notes :: Changes in MySQL 9.5.0 (2025-10-21) 24/34
  15. MySQL 8.4 vs MySQL 9.7(8) レプリケーションSQLスレッド, グループレプリケーションのフローコントロール, グループレプリケーションのリソースマネージャー, グループレプリケーションの プライマリ選出理由…のコンポーネント/プラグインが商用版からコミュニティ版

    に導入(9.7) Open Telemetryコンポーネントが商用版からコミュニティ版に導入(9.7) replica_allow_higher_version_source の追加(9.7) JSON Duality Viewへの更新SQLが商用版からコミュニティ版に導入(9.7) MySQL :: MySQL 9.7 Release Notes :: Changes in MySQL 9.7.0 (2026-04-21) 26/34
  16. 今北産業(Added - 1) VECTORデータ型の追加(9.0) CREATE VIEW IF NOT EXISTS がサポート(9.1)

    TempTable_count_hit_max_ram が追加されて5.7とそれ以前の Created_tmp_disk_tables と同じ使い心地になるはず(9.1) connection_memory_limit の導入(9.1) mysqldump --users が追加(9.3) JSON Duality Viewのサポート(9.4) 28/34
  17. 今北産業(Added - 2) activate_mandatory_roles の追加(9.5) レプリケーション関連通信のデフォルトがSSL/TLS有効に(9.5) --container-aware オプションの追加(9.6) innodb_native_foreign_keys オプションの追加(9.6)

    performance_schema が増えた (9.7) Open Telemetryコンポーネントが商用版からコミュニティ版に導入(9.7) replica_allow_higher_version_source の追加(9.7) 29/34
  18. 今北産業(Changed - 1) イベントスケジューラがプレースホルダーを使えるように修正(9.0) Primary Key, Unique Key以外の親がFKでデフォルトで作成不可(9.0) 今までSELECTの時すらトリガーのSQL文をハードパースしていたのを修正(9.1) INSTANT

    DDLが64世代までだったのが255世代までリビルドなしで継続可能 (9.1) mysqld がコンテナ内で動いていると検知された時にパラメータを自動調整するよ うに(9.3) 30/34
  19. 今北産業(Changed - 1) mysql の xx rows in set (0.052

    sec) のマイクロ秒対応(9.3) mysql -e "SHOW REPLICA STATUS\G" がデフォルトではシンタックスエラーに(9.4) caching_sha2_password のダイジェストラウンドが5,000から10,000に変更(9.5) binlog_transaction_dependency_history_size のデフォルトが25,000から 1,000,000に変更(9.5) innodb_log_writer_threads のON/OFF計算式が変更(9.5) 31/34
  20. 今北産業(Removed/Deprecated) mysql_native_password の完全削除(9.0) FLUSH PRIVILEGES ステートメントが非推奨化(9.2) innodb_undo_tablespaces, innodb_log_file_size, innodb_log_files_in_group が削

    除(9.3) early_plugin_load の非推奨化(9.4) temptable_use_mmap の削除(9.4) MD5, SHA1 関数の非推奨化(9.4) replica_parallel_type の削除(9.5) semisync_master, semisync_slave プラグインの完全な削除(9.5) 32/34
  21. 感想 実質開発期間が1年だった8.4よりも新機能はずっとある ただ、5.6 ONLINE ALTER TABLE, 5.7 innodb_buffer_pool_size / offline_mode,

    8.0 INSTANT ALTER TABLE みたいなキラーコンテンツはまだ見 当たらないかも 載ってて出てない(商用版からコミュニティ版にバックポートされる予定だった)機 能もまだあるので、ひょっとしたらしばらくはバックポートがあるかも A New Era of MySQL Community Engagement: Public Community Roadmap Webinar Highlights ‐ しかしON/OFF可能であることを強く望む ‐ 33/34