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

いまいまMySQL2024 @ OSC Ehime

sakaik
November 20, 2024

いまいまMySQL2024 @ OSC Ehime

2024年11月16日に愛媛県松山市で開催された OSC2024 Ehime での日本MySQLユーザ会(MyNA)枠での発表資料です。

主にMySQLの新しいリリース体系(バージョンルール)について説明しています。

今年、同じ資料を常に最新化しながら全国でお話してきましたが、今回は前回(長岡)からの変更点は少なめです。

sakaik

November 20, 2024
Tweet

More Decks by sakaik

Other Decks in Technology

Transcript

  1. 自己紹介 坂井 恵 @sakaik From 千葉県 • 日本MySQLユーザ会副代表 : データベース

    • OSGeo.JP 運営委員 : 地理情報(GIS) • (有)アートライ代表取締役 : おしごと • 四国久々のOSC開催おめでとうございます! • 四国は前回 徳島(2015)、香川(2018)以来の参加です
  2. MySQL 8.4 ~ 新しいリリーススタイル これまでの主なシリーズ誕生の歴史 MySQL 9.0 2024/07 ★Now!New! 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済 LTS IR
  3. MySQL 8.4 ~ 新しいリリーススタイル Innovation Release (MySQL 9.x.x) • 積極的に新機能や大きな改善も加えて進化させていくバージョン

    • 時に非互換の修正も厭わずに行う • サポート期間は超短い(次のバージョンが出たら終了) LTS Version (MySQL 8.4.x) • Long-Term Support • 同一LTSバージョン内では、非互換となるような修正や新機能は加え られない • リリース後、8年間のサポート期間
  4. MySQL 8.4 ~ 新しいリリーススタイル 個人的につけた愛称 Innovation Release • 「意欲的バージョン」 •

    「やんちゃするバージョン」 LTS Version • 「安定バージョン」 • 「安心バージョン」 • 「本番環境用バージョン」
  5. L TS(Long-Term Support) 版 • 2年に1度、新しいLTS版をリリース(メジャーバージョン) • 3ヶ月ごとにパッチリリース(マイナーバージョン) • 8.4.1,

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

    • 3ヶ月後に次が出ると、前のバージョンはメンテされなくなる • 2年間のInnovation Releasesの開発成果を、次のLTSへ • 非推奨となった機能等は最低1年は削除されないと明言 • 逆に言うと、たった1年経つと削除されるかもしれないということ (少し目を離しているとあっという間ですね) →まぁ、「8.0のときみたいなもん」だと思います
  7. Innovation Releaseはβ版なのか? • No! • Production releaseであることが明言されている • とは言え、課題も多く、本番での使用は個人的には勧めない •

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

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

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

    デメリット • マイナーバージョンアップ(パッチリリース)なのに非互換 • 非互換による同一メジャーバージョン内でのダウングレード不可発生 • マイナーバージョンアップ時に大量の検証が必要に(=アップグレード をしにくい) • マイナーバージョンアップなのに、新機能によるバグ混入リスクが上 昇
  11. 古いパスワード形式は無効なので注意 • 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
  12. 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