MySQLバージョンアップを行った際の手順について

2024/11/22に公開

はじめに

こんにちは、リハプラン/PLFチームの浅野です。
最近、担当プロダクトのMySQLのバージョンアップ(5.7→8)をSREチームと共同で行いました。
この記事では、その際に行った手順の一部を振り返ってみたいと思います。

プロジェクト全体の流れ

全体の大まかな流れは以下のとおりです。

  • 変更点の確認と影響範囲調査
  • テストケース作成
  • テスト環境構築
  • テスト環境でのバージョンアップ
  • テスト実施
  • 本番環境でのバージョンアップ

この中でも、「変更点の確認と影響範囲調査」と「テスト」について紹介します。

変更点の確認と影響範囲調査

まずは公式ドキュメントで変更点を確認しました。
https://dev.mysql.com/doc/refman/8.0/ja/upgrading-from-previous-series.html

また、参考にした記事もいくつかありますので、一部をご紹介します。

変更点を洗い出した後、影響範囲の調査を行いました。タスク化して、チームで一つ一つ確認を進めていきました。

  • GROUP BY句のソート
  • 予約語のチェック
  • charsetやcollationのデフォルト値の変更による影響

など、地道に確認を重ねました。

イメージ画像

テスト

テストはリハプラン/PLFの全機能を対象に実施しました。
正常な動作を保証するだけでなく、速度劣化が起こっていないかを確認するため、同じデータ内容でMySQL 5.7と8の環境を用意し、Datadogで実際の速度を計測しました。
幸いにも速度劣化は見られず、安心して本番環境へのリリースに進めました。

イメージ画像

また、SREチームはk6を使って負荷テストを行い、高負荷に耐えられるかどうかの検証も行いました。
https://k6.io/

おわりに

今回はMySQLのバージョンアップについて、プロジェクト内で行った工程の一部をご紹介しました。SREチームと協力し、調査やテストを丁寧に進めた結果、不具合や速度劣化も見られず、無事にリリースできました。

今後も、安定したサービス提供と技術的な進化を両立させるため、チーム一丸となって取り組んでいきます!

Rehab Tech Blog

Discussion