>100 Views
March 09, 26
スライド概要
【講演内容】
昨年の11月25日、オンプレミスのデータベースをOCI(Oracle Cloud Infrastructure)のMySQL HeatWaveに移行できるツールとしてMySQL HeatWave Migration Assistantが登場しました。 本セッションでは、とりあえず本ツールを使ってみて迷ったポイントについてご紹介し、「どこで検討したか」「どう解決すればいいのか」を中心ツールによく使われるポイント
を共有します。
への移行にチャレンジしたいほうが、同じポイントでハマるのを見据えるためのヒントを持ち続けたい内容を目指しています。
MySQL HeatWave Migration Assistant 概要
- MySQL Workbench / MySQL Shell for VS Code に追加された移行ツール
- オンプレミスMySQL から OCI MySQL HeatWave への移行を支援
- 対応MySQL バージョンおよび利用要件
Migration Assistantによる移行フロー
- OCIリソース(VCN / Object Storage / MDS)の自動作成
- スナップショットのエクスポート / インポート - ホットマイグレーション
時のレプリケーション同期
Migration Assistantの実行手順
- Migration Assistantの起動
- OCI情報およびMDS構成の設定
- コールド / ホットマイグレーションの選択
- スキーマ・データ互換性チェック
- マイグレーション実行と完了後の作業
実践検証でハマった落とし穴5選
- Migration Wizardとの混合
- Migration Assistantが白画面で起動する問題(OCI CLI API Key設定)
- MySQL 5.6 / 5.7のパッチバージョンとTLS対応
- 移行先MDSのMySQLバージョン仕様
- Always Free環境でのバージョンスタンス
戦闘トラブルのポイント
- MySQL シェルログの確認方法
- 典型的なエラー例(TLS 接続エラーなど)
【発表者】
株式会社パソナデータ&デザインデータテクノロジー
本部 データベース部
MySQL HeatWaveリードエンジニア
神田 智大氏
【イベント情報】
HeatWavejp Meetup #17
https://heatwavejp.connpass.com/event/381648/
HeatWavejpは、MySQL HeatWave の良さを知っていただき、参加者同士でノウハウやナレッジを共有できるユーザーコミュニティです。参加者同士のつながりを深めるため、以下の活動を行ってまいります。 COMMUNICATION *Slackやconnpassを活用したユーザー同士のコミュニケーションの場の提供 EVENT *オンライン/オフラインでのMeetupセミナーや勉強会の開催(隔月程度) SHARING *製品情報や最新アップデート、リリース情報の共有 INTERACT *参加者のコミュニティ・ネットワークやユーザー同士の交流を促進
MySQL HeatWave Migration Assistant 実践検証 ~ツールの機能検証と私がハマった落とし穴 5選~
自己紹介 • 名前:神田 智大(かんだ ともひろ) • 所属:株式会社パソナデータ&デザイン データテクノロジー本部 データベース部 MySQL HeatWaveリードエンジニア • 最近、親近感を覚えた偉人: ウィリアム3世(イングランド王)
MySQL HeatWave Migration Assistantとは • MySQL Workbench 8.0.45 / MySQL Shell for VS Code 1.20.0+9.6.0 で追加された新機能 [MySQL Workbench] Chapter 11 MySQL HeatWave Migration Assistant [MySQL Shell for VS Code] Chapter 6 MySQL HeatWave Migration Assistant • 無料でオンプレ環境のMySQLをOCI上のMySQL HeatWave(以後、MDS)へ移行 するツール オンプレ環境 MySQL OCI上のMDS • サポートOSはMicrosoft Windows および macOS のみ • 移行元DBとして MySQL 5.6/ 5.7/ 8.0/ 8.4 LTS/ 9.x をサポート ※5.6 : 5.6.42以降 ※5.7 : EE版 5.7.10以降 CE版 5.7.28以降
Migration Assistantによる移行フロー オンプレミス環境 ホストPC (Windows/Mac) ② MySQL MySQL Workbench (8.0.45) MySQL Shell ① OCI ① Oracle Servies Network ② VCN オブジェクト ストレージ ③ Public subnet 踏み台サーバ (コンピュート インスタンス) 【移行フロー】 ① OCIオブジェクト(オブジェクトストレージ/踏み台サーバ/MDS)の自動作成 ② ソースDBのスナップショットをオブジェクトストレージにエクスポート ③ MDSへスナップショットをインポート ④ (ホットマイグレーションの場合)インバウンドレプリケーションでデータ同期 ※①でOCI上にコンパートメント/VCNも自動作成可能 レプリケーション チャネル Private subnet ③ MDS
Migration Assistantの必要要件 オンプレミス環境 MySQL ホストPC (Windows/Mac) MySQL Workbench (8.0.45) OCI OCIアカウント OCI CLI MySQLバージョンは MySQL 5.6 以降 (5.6/5.7/8.0/8.4/9.x) ※5.6 : 5.6.42以降 ※5.7 : EE版 5.7.10以降 CE版 5.7.28以降 OCI CLI がホストPC上で 使用できること 管理者アカウントでない場合、 事前のポリシー設定が必要 [Chapter 11 MySQL HeatWave Migration Assistant] Before You Begin MySQL Workbenchから オンプレミス環境DBへ アクセスできること
ツール利用手順 1. Migration Assistantの起動 2. 移行先のOCI情報設定 3. マイグレーション方式の設定 4. 移行スキーマ・データの互換性チェック 5. マイグレーションの実行
1.Migration Assistantの起動 • 移行したいDBの接続(connection)の緑ボタンをクリック 「緑のマーク」クリックで 別ウィンドウが起動
2.移行先のOCI情報設定 ①移行先のOCI情報(コンパートメント、VCN)を選択 使用する OCI CLI構成のプロ ファイル 移行先コンパートメント ※自動作成を選択時、 「 MySQL」というコンパー トメントが生成 移行先VCN ※自動生成を選択時、 「 MySQLVCN」という VCNが生成
2.移行先のOCI情報設定 ②移行先のMDSの構成選択 構成テンプレート( ECPU/メモリ /NW ) ※Always Free 選択可 ・ディスクサイズ ・構成タイプ (スタンドアロン もしくは 高可用性) ・ HeatWave シェイプ ・ HeatWave ノード数 【補足】 踏み台サーバのコンピュート名は自動的に 「mysql-jump-host」となります ・インスタンス名 ・管理者ユーザー名、パスワード ・通知用 Email アドレス(任意)
3.マイグレーション方式の設定 • コールドマイグレーション / ホットマイグレーション から選択 コールドマイグレーション [流れ] ①ソース DBからスナップショットをエクスポート ②MDSにスナップショットをインポート [特徴] ・移行中はソース DBへの更新を止める必要あり ・ダウンタイムあり ホットマイグレーション [流れ] ①ソース DBからスナップショットをエクスポート ②MDS にスナップショットをインポート ③インバウンドレプリケーション(ソース DB → MDS ) で、スナップショット以降のデータ更新を同期 [特徴] ・移行中のソース DBへの更新はMDS に適用される ・ダウンタイムは極小
4. 移行スキーマ・データの互換性チェック • 移行先のMySQL HeatWave と互換性のないデータの移行選択 MySQL Shell のインスタンスダンプユーティリティ リティのオプションを指定する /ダンプロードユーティ 【互換性チェックの例】 ・管理者ユーザーの権限 ・主キーのないテーブルへの主キー生成 ・ユーザーの認証プラグインの変更 (mysql_native_passwordの場合) いずれかを選択 ①移行対象データから除外 ②オプションを指定して互換性を保ち移行 【補足】 インスタンスダンプユーティリティ、ダンプ ロードユーティリティに関する 並列度(threads)などのパラメータ調整 はできません
5.マイグレーションプランの確認 • プランを確認して実行するだけ 移行中は進捗状況を 見守るだけ
6. マイグレーション完了 MDSのプライベート IPアドレス 踏み台サーバへのアクセスコマンド (SSH) MDSへのアクセスコマンド (MySQL Shell) 不要になった OCIオブジェクトの削除選択 ・踏み台サーバ ・オブジェクトストレージ
ex. レプリケーションの停止とチャネル削除 • ホットマイグレーション選択時はレプリケーションチャネルの 停止と削除が必要 • migration-inbound-replication という名前でチャネルが自動生成 オンプレ環境 MySQL レプリケーション チャネル OCI MDS • レプリケーションチャネル停止後に手動で削除する MDSへのデータ同期が十分であるかユーザー自身の判断でレプリケーションを止める 必要があり
私がハマった落とし穴 5選
1.起動アイコンにややこしい機能がある • 似て非なるツール「Migration Wizard」の存在 • 他DB(SQL Serverなど)からMySQLへ移行するためのツール • MySQL HeatWave Migration Assistantとは全く別の機能なので注意 Database Migration Wizard Migration Wizard のアイコン ※別機能なので注意 MySQL HeatWave Migration Assistant のアイコン
2.Migration Assistantが真っ白な画面で立ち上がる • 待てど暮らせど何もできない… 【原因】 OCI CLI の API Key にパスフレーズを設定しており、 それにMigration Assistantが対応していないことが原因 PS > oci setup config : Enter a passphrase for your private key ("N/A" for no passphrase): 【回避策】 パスフレーズを設定しない(N/A と入力)
3. MySQL5.6/5.7はパッチバージョンにご注意 • 古すぎるMySQLだとTLSバージョン差異によってエラーが発生する • ソースDBがTLS1.2をサポートしていないとエラーになる オンプレミス環境 ホストPC (Windows/Mac) [email protected]:3306?ssl-mode=REQUIRED MySQL MySQL Workbench (8.0.45) TLS接続が発生する MySQL Shell 5.6/5.7のパッチバージョンが以下 である必要がある MySQL 5.6 : 5.6.42以降 MySQL 5.7 : EE版 5.7.10以降 CE版 5.7.28以降 左記のバージョンは TLS1.2をサポートしているため接続可能 これより前のバージョンは TLS1.2をサポートしないため処理途中でエラーとなる MySQL 8.0.28以降で TLS1.0および1.1のサポートが削除 以降バージョンは TLS1.2以上での接続が必須
4.移行先MDSのバージョンは選択できない • 移行先MDSのバージョンは自動的に「ソースDBのメジャーバージョンの最新版」 • OCIではMySQL 5.6/5.7はサポート外のため、8.0系の最新版が移行先バージョンとなる ソース MySQL バージョン 移行先 MDS バージョン MySQL 5.6/5.7/8.0 MySQL 8.0.45 MySQL 8.4 LTS MySQL 8.4.8 MySQL 9.x MySQL 9.6 ※2026/2/12現在の対応表 • オンプレ環境がMySQL8.0以下、移行先MDSに8.4を選択したい場合の手順 ① Migration Assistant で MySQL 8.0.45 にマイグレーションする ② OCIのコンソール画面からMySQL 8.4.x へ手動アップグレード(もしくは自動アップグレード)
5.Always FreeはソースDBが MySQL 8.4以下はNG • Always Freeの制限により移行先MDSのMySQLバージョンがかみ合わ ず処理途中でエラーになる オンプレミス環境 ホストPC(Windows/Mac) OCI VCN MySQL Workbench (8.0.45) MySQL 8.4以下 ソースDBバージョンが8.4以下の場合、 以下のMDSバージョンを要求 5.6/5.7/8.0 ⇒ 8.0最新版 8.4 ⇒ 8.4最新版 MySQLバージョン差異により MDSの自動生成処理でエラー Private subnet MDS (Always Free) Always Freeの制限により MySQLは常に最新版の バージョンのみが使用可能 (MySQL 9.6)
2026年5月以降 MySQL 8.0以下のマイグレーション はできなくなる? • MySQL HeatWaveにおけるMySQL 8.0のサポートが2027年4月まで延長 Extending MySQL 8.0 support in MySQL HeatWave • 2026年 6 月のメンテナンスサイクルで MySQL 8.0 のすべてのインスタンスが8.0.46 に自動的 にアップグレード • だたし、それに伴う操作制限(新しい 8.0 インスタンスの作成は許可されないetc)により 移行中の処理エラーが予想される Migration Assistant MySQL 8.0のMDSが生成できず エラー発生が予想 MySQL 8.0以下 • 今後のアップデートでの対応を期待しましょう MDS
教訓:何かあったらMySQL Shellのログを見る! • 例)MySQL 5.6のバージョンが古すぎてTLS1.2を未サポートのためエラー発生 Migration Assistantの画面 mysqlsh.log の出力 メッセージが Dump operation failed のみ… SSL connection errorが出力される Error: source_check: connection check: MySQL Error (2026): SSL connection error: error:0A000102:SSL routines::unsupported protocol • エラー時はMySQL Shellログを見れば大体解決する Windowsの場合: %APPDATA%¥MySQL¥mysqlsh-wb¥mysqlsh.log
まとめ • MySQL HeatWave Migration Assistant で移行作業をボタン一つで楽にできます! • ただし、注意したい点として • 事前の環境チェックはしましょう! (特にMySQL5.6/5.7のパッチバージョン、 OCI CLIのAPI Keyの設定) • 何かあったらMySQL Shellのログのチェックを推奨! • 詳しい内容は弊社techブログにも記載しておりますので是非チェックしてください! MySQL HeatWave Migration Assistant を使ってMySQLをOCIにリフトアップ!ツールの紹介と注意点について https://blog.s-style.co.jp/2026/01/15148/
セミナー告知 • MySQL 8.0 EOL、移行判断が止まる理由 ~ 影響範囲・リスク・選択肢を整理するDBアップグレード戦略 ~ • 日時:2026年2月27日(金) 15:00~16:00 • 形式:Webセミナー 詳細内容は弊社セミナー詳細ページ をご確認ください! EOLを単なる作業として捉えるのではなく、 影響範囲を見極め、リスクを整理し、検討を前 に進めるための視点を持ち帰っていただける 内容です
ご清聴ありがとうございました