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

いまいまMySQL~いよいよ姿を現したMySQL 8.4 LTS / iMyMaMySQL20...

sakaik
July 06, 2024

いまいまMySQL~いよいよ姿を現したMySQL 8.4 LTS / iMyMaMySQL2024_at_osc_Hokkaido

2024年6月29日に北海道札幌市で開催された オープンソースカンファレンス2024北海道(OSC2024 Hokkaido)での、
日本MySQLユーザ会(MyNA)発表枠、『いまいまMySQL 2024』の発表資料です。

sakaik

July 06, 2024
Tweet

More Decks by sakaik

Other Decks in Technology

Transcript

  1. 自己紹介 坂井 恵 @sakaik • 日本MySQLユーザ会副代表 • OSGeo.JP 運営委員 •

    (有)アートライ代表取締役 • OSCフリーク(OSC北海道参加十数回) OSC北海道参加記録(?)
  2. 自己紹介 坂井 恵 @sakaik • 日本MySQLユーザ会副代表 • OSGeo.JP 運営委員 •

    (有)アートライ代表取締役 • OSCフリーク(OSC北海道参加十数回) OSC北海道参加記録(?) 今回のOSC北海道への道
  3. MySQL 8.4 ~ 新しいリリーススタイル これまでの主なリリースの歴史 MySQL 8.4 2024/04 ★Now!New! MySQL

    8.0 2018/04 ※2026/04にEoL予定 MySQL 5.7 2015/10 ※2023/10にEoL済 MySQL 5.6 2013/02 ※2021/02にEoL済
  4. MySQL 8.4 ~ 新しいリリーススタイル Innovation Release • 積極的に新機能や大きな改善も加えて進化させていくバージョン • 時に非互換の修正も厭わずに行う

    • サポート期間は超短い(次のバージョンが出たら終了) LTS Version • Long-Term Support • 同一LTSバージョン内では、非互換となるような修正や新機能は加え られない • リリース後、8年間のサポート期間 https://blogs.oracle.com/mysql/post/introducing-mysql-innovation-and-longterm-support-lts-versions
  5. MySQL 8.4 ~ 新しいリリーススタイル 個人的につけた愛称 Innovation Release • 「意欲的バージョン」 •

    「やんちゃするバージョン」 LTS Version • 「安定バージョン」 • 「本番環境用バージョン」 https://blogs.oracle.com/mysql/post/introducing-mysql-innovation-and-longterm-support-lts-versions
  6. L TS(Long-Term Support) 版 • 2年に1度、新しいLTS版をリリース(メジャーバージョン) • 3ヶ月ごとにパッチリリース(マイナーバージョン) • 8.4.1,

    8.4.2, 8.4.3 .... • 同一メジャーバージョン内ではデータ形式の変更は行われない ことを明言 • アップグレード/ダウングレードが可能に
  7. Innovation Release • バグ修正、セキュリティ修正、新機能を含む • 非互換の修正が含まれることも • サポート期間は、次のバージョンが出るまで • つまり基本的には3ヶ月間のみ

    • 3ヶ月後に次のInnov.が出ると、前のバージョンはメンテされなくなる • 2年間のInnovation Releaseの修正結果を、次のLTSへ • 非推奨となった機能等は最低1年は削除されないと明言 • 逆に言うと、たったの1年後には削除されるかもしれないということ
  8. Innovation Releaseはβ版なのか? • No! • Production releaseであることが明言されている • とは言え、課題も多く、本番での使用は個人的には勧めない •

    サポート期間の短さ • 互換性の非保証 • ダイナミックな修正に伴う部分的不安定の混入リスク • 公式アナウンスでは「本番環境での使用を推奨」とは言っいますが・・・ (採用するならトコトン面倒を見る覚悟で)
  9. L TSとInnovation Releaseの リリーススケジュールの関係 おさらい • LTSは2年に1度メジャーバージョンアップ • LTSサポート期間は8年間 •

    LTSは3ヶ月に1度マイナーバージョンがリ リース • LTSの合間にはInnovation Releaseがリリー ス • Innovation Releaseも3ヶ月ごとにリリース • 2年ごとにInnovation Releaseの修正の集大成 として次のLTSがリリース
  10. L TS版への経緯 ~ MySQL 8.0とは何だったのか~ • MySQL 8.0シリーズ • 「継続的デリバリモデル」

    • メジャーバージョン内でも積極的に新機能や挙動の改善を • Windows 10 と同じような感じ
  11. 継続的デリバリモデルのメリデメ • メリット • 世間が欲する最新の機能を、次のメジャーバージョンを待たずに導入 可能 • 新機能や新しい動作を早く導入し早く反応を得られることによる開発 の高速化 •

    デメリット • マイナーバージョンアップ(パッチリリース)なのに非互換 • 非互換による同一メジャーバージョン内でのダウングレード不可発生 • マイナーバージョンアップ時に大量の検証が必要に(=アップグレード をしにくい) • マイナーバージョンアップなのに、新機能によるバグ混入リスクが上 昇
  12. 古いパスワード形式は無効なので注意 • mysql_native_password という古いパスワー ド形式を使っている場合要注意 • アップグレード後に接続できない(認証で きない)状態になります • mysql_native_password認証プラグインが

    MySQL 8.4 からデフォルトでは無効化され たため • プラグインを有効にすれば接続できるよう になります • 非推奨のパスワード形式なので、お早めに caching_sha2_passwordへの移行を https://sakaik.hateblo.jp/entry/20240430/mysql_8_4_0_lts_is_coming
  13. MySQLの情報源 • MySQL公式マニュアル「What is new in MySQL 8.4 since MySQL

    8.0」 • https://dev.mysql.com/doc/refman/8.4/en/mysql-nutshell.html • とみたまさひろ氏の「MySQL Parameters」 • https://mysql-params.tmtms.net/mysqld/?vers=8.0.37,8.4&diff=true • Twitter(X) や Blueskyの ハッシュタグ #mysql_jp