MySQLバージョン サポート終了期間に注意して、GA版から選ぶ
  • facebookページ
  • twitterページ
  • 2019.12.19

    MySQLバージョン サポート終了期間に注意して、GA版から選ぶ

    MySQLのバージョンについてまとめています。

    新規に運用を開始する際のMySQLのバージョンの選び方、サポート終了期間の確認方法、直近のMySQLのバージョンごとの追加機能やアップグレード時の注意点について紹介しています。

    MySQL GA版(General Availability)からバージョンを選ぶ

    MySQLでは、サポート期間中の安定版をGA版(General Availability版)と呼んでいます。新規インストールをおこなう場合は、基本的にGA版から選びましょう。MySQL Community版のソフトウェアは、以下のページからダウンロード可能です。

    最新版以外のバージョンは「Looking for previous GA versions?」をクリックすると、ダウンロード用ページが開きます。

    参考)MySQL :: Download MySQL Community Server

    なお、以下のページからサポートの終了した旧バージョン(MySQL5.1以前)もダウンロード可能です。

    参考)MySQL :: MySQL Product Archives

    旧バージョンに不具合やセキュリティホールが見つかったとしても、パッチプログラムは提供されないので注意しましょう。主に、テスト環境で旧MySQLの動作確認をおこなう際などに使うものと考えられます。

    サポート期間中のMySQLのバージョン一覧

    MySQLをサポートしているOracleでは、3種類のサポートを用意してます。

    Premier Suppot、Extended Support、Sustaining Supportです。

    Premier Suport可能期間は、すべてのサポートを受けられます。Extended Supportは、追加料金を支払って延長メンテナンスとアップデートを受けられる期間です。Sustaining Supportは、終了期限はありませんがセキュリティホールや不具合が見つかっても、新規にソフトウェアアップデートは提供されなくなります。すでに提供済みのアップデートや有償でのサポートは契約可能です。

    MySQL 5.6のExtended Suportは2021年2月に終了するので、これからMySQLを運用し始めるなら、MySQL 5.7以降を選ぶことになるでしょう。5.6を使用していて、セキュリティパッチなどのソフトウェアアップデートが必須の場合は、5.7以降にアップグレードする必要があります。

    なお、既存のシステムのMySQLのバージョンはコマンドまたはSQLで調べられます。

    【関連記事】
    MySQLのバージョン確認確認方法 ServerとClientバージョンを調べるには? 

    MySQL 5.6.46で追加された新機能

    5.6では、以前のリリースと比べてデータベースのデフォルト値が変更されています。理由は、デフォルト値のままで優れたパフォーマンスを得られるようにするため。しかし、デフォルト値が変わることでアプリに不具合が出るような場合は、以前のバージョンからアップグレードする前に十分にテストする必要があります。

    5.6で追加された主な機能は以下の通りです。

    • memcached API
    • UNDO表領域
    • Global Transactin ID
    • マルチスレッドスレーブ
    • オンライン Alter Table
    • トランスポータブル表領域

    その他、セキュリティ機能の改善、監査ログファイル形式の変更、InnoDBの拡張機能追加、テーブルパーティション化拡張機能の追加など。

    MySQL 5.7.28で追加された新機能

    5.7では、5.6の3倍の速度になったと発表されています。

    参考)MySQL :: 【2018年02月05日 MySQL Tech Tour講演資料】MySQL 5.7 新機能

    5.7の主な新機能は以下の通りです。

    • 新コストモデル オプティマイザ
    • ロスレス レプリケーション
    • マルチソース レプリケーション
    • 全文検索CJK対応/GIS(InnoDB)
    • セキュリティ強化
    • データディスクショナリ
    • NoSQLオプション

    5.7でも、前バージョンからデフォルト値が変更になっています。公式サイトにて、MySQL 5.5、5.6、5.7でデフォルト値が変更になったパラメータの一覧が、Excel形式で公開されています。

    参考)MySQL :: 【MySQLパラメーター比較資料】MySQL 5.5、5.6、5.7のパラメーターを比較したExcelファイル

    MySQL 8.0.18で追加された新機能

    MySQL 8.0の新機能は以下のとおりです。

    • インデックスを使わない読み取り・書き込みをおこなう更新処理で、MySQL5.7の2倍の速度
    • MySQL ドキュメント・ストア
    • デフォルトのキャラクタセットがutf8mb4に変更。絵文字と多数のキャラクタセットがデフォルトで扱える
    • utf8mb4を使ったときの性能が、MySQL5.7と比較して最大40%改善。特に同時接続ユーザが64を超えるような環境で改善。
    • JSONサポート改善
    • 共通テーブル式(SQLの拡張)
    • 累積分布、相対順位などを算出するウインドウ関数(SQLの拡張)
    • 不可視索引(SQLの拡張。使われていないインデックスを安全に削除できる)
    • 降順索引をサポートし、パフォーマンス向上
    • インフォメーションスキーマへの問い合わせジアkンが5.7と比較して数百倍高速化、パフォーマンススキーマの問い合わせ時間が最大30倍高速化

    その他、クラウドフレンドリー、セキュリティの強化、レプリケーションの改良などの改善が実施されています。

    特に大きく変わった点で、実運用面で影響の大きそうなアップグレードの際の注意点が、MySQLのコンサルティング会社へのインタビュー記事にまとめられていました。

    参考)MySQL 8.0は何が優れていて、どこに注意すべきか。データベース専門家が新機能を徹底解説

    大きくは以下の3点です。

    • デフォルトのユーザ認証プラグインが変更になった。caching_sha2_passwordに対応していないクライアントは接続ができなくなるため、クライアントも同時にアップデートするか、認証方式を旧来のmysql_native_passwordに戻す必要あり。
    • クエリーキャッシュが廃止。それほど効果がデないため、5.6ではデフォルトで無効化、5.7では非推奨になっていた。8.0アップデート時にクエリーキャッシュが有効になっていると、データベースが起動しなくなるケースあり。
    • バイナリログ出力がデフォルトで出力するようになった。十分ディスク空き容量のあるサーバでは問題にならないが、1GB程度の容量確保が難しいレガシーなシステムでは、ディスク容量を圧迫する可能性あり。

    以下の記事で、MySQL 8.0のダウンロードからインストールまでの手順をまとめています。

    【関連記事】
    MySQL 8.0 インストール ダウンロードから初期設定まで解説 

    まとめ

    ポテパンダの一言メモ
    • MySQLのバージョンは、GA版から選ぶ。サポート期間の終了時期も考慮する必要がある。
    • MySQLの有償サポートには、Premier Suppot、Extended Support、Sustaining Supportがあり、それぞれ終了時期が決まっている。
    • 2020年以降にMySQLの運用を始めるなら、ソフトウェアアップデート提供の点から、5.7、8.0以降のバージョンを選ぶ必要あり。


    優良フリーランス案件多数掲載中!
    フリーランスエンジニアの案件をお探しなら
    ポテパンフリーランス

    この記事をシェア

    • Facebookシェア
    • Twitterシェア
    • Hatenaシェア
    • Lineシェア
    pickup









    ABOUT US

    ポテパンはエンジニアと企業の最適なマッチングを追求する企業です。

    READ MORE