Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Aurora MySQL v1 → v3 移行で 気を付けたほうが良いこと (7 つ + α)
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
hmatsu47
PRO
July 08, 2022
Technology
2.8k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Aurora MySQL v1 → v3 移行で 気を付けたほうが良いこと (7 つ + α)
JAWS ミート 〜Re:Born 東海道〜 2022/7/9
hmatsu47
PRO
July 08, 2022
More Decks by hmatsu47
See All by hmatsu47
中小企業に就職して転職せず30年。結果どうなった?
hmatsu47
PRO
0
84
JAWS ミート 2026 の「出し物」のゲームを Kiro と AI-DLC v2 で作った話
hmatsu47
PRO
0
15
ゲームで挑戦!VPC の気持ちになって IPv4/v6 パケットをルーティングしよう!
hmatsu47
PRO
0
29
続・名古屋城とデータセンター
hmatsu47
PRO
0
28
【再演】IPv6 VPC の実装パターンをいくつか
hmatsu47
PRO
0
33
名古屋城とデータセンター
hmatsu47
PRO
0
40
IPv6 に関する話
hmatsu47
PRO
0
29
さいきんの光ファイバーの話
hmatsu47
PRO
0
76
低いほうのレイヤを見てみる話
hmatsu47
PRO
0
35
Other Decks in Technology
See All in Technology
2026-09-10 【Snowflake World Tour Tokyo 2026】dbt Core と Snowflake で実現する多層的なデータガバナンス / Multi-Layered Data Governance Powered by dbt Core and Snowflake
civitaspo
0
400
Screen Lens - 今見てる画面を翻訳する
komagata
0
290
Podは生きているのにGoだけが落ちる:GOGCとGOMEMLIMITで追うInvisible OOM Killの謎
tkc66buzz
1
720
品質と信頼性を地続きにする
grimoh
0
350
あるけみー式LTスライド作成術
alchemy1115
1
210
Amazon Quick on DesktopがIAM Identity Centerで動かない理由
yukiogawa
0
190
家のリアーキテクト・リファクタリング
suguruooki
0
150
Spring BootからQuarkusへの移行
tatsuya1bm
2
110
例外の正しい扱い方 そのエラー try-catchして大丈夫?
jinwatanabe
3
500
Claude in Chrome 入門 / Introduction to Claude in Chrome
cielo1985
0
780
現場で役立つ技術負債の効果的な返済方法
masuda220
PRO
8
3.5k
DEFCON34-Write-up_HYCu-MYCu
daikiokazaki
0
160
Featured
See All Featured
Practical Orchestrator
shlominoach
191
12k
Exploring anti-patterns in Rails
aemeredith
4
510
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.7k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.7k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
490
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
67
58k
YesSQL, Process and Tooling at Scale
rocio
174
15k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
580
The World Runs on Bad Software
bkeepers
PRO
72
12k
The Curse of the Amulet
leimatthew05
3
14k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
300
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
390
Transcript
Aurora MySQL v1 → v3 移行で 気を付けたほうが良いこと (7 つ +
α) JAWS ミート 〜Re:Born 東海道〜 2022/7/9 まつひさ(hmatsu47)
自己紹介 松久裕保(@hmatsu47) • https://qiita.com/hmatsu47 名古屋で Web インフラのお守り係をしています MySQL 8.0 の薄い本を作って配っていました
◦ https://qiita.com/hmatsu47/items/ceb75caf46e3c761095d ◦ GitHub リポジトリの他、印刷版を BOOTH で配布していました ◦ 2021/5 発行の 8.0.24 対応版を最後に更新停止しました 2
本日のネタ • Aurora MySQL v1(5.6 互換)EoL 発表 ◦ https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUs erGuide/Aurora.MySQL56.EOL.html
• 2023/2/28 までに v2 または v3 へ移行が必要 ◦ せっかく移行するなら v3 へ • ただいま移行に向けて作業中→気を付ける点は? 3
Aurora MySQL v1 の EoL までの流れ(一応) • 2022/9/27 : 新規クラスタ等作成停止
◦ 以下は(EoL まで)実行可能 ▪ v1 スナップショットの復元 ▪ クラスタにリードレプリカ追加 ▪ インスタンス設定変更 など • 2023/2/28 : EoL(予定)※時刻は 00:00:00 UTC 4
v3 移行で気を付ける点 • v1 → v2 と比べると結構たくさんある • ただし本日は網羅的な話はしない •
面倒なことになりやすい点だけピックアップ 5
https://zenn.dev/hmatsu47/books/aurora-mysql3-plan-book 移行全体の話は Zenn の本で 6
気を付ける点① 予約語 • テーブル名・列名と被る場合→要バッククォート • マイナーバージョンアップでも追加の可能性 ◦ MySQL 8.0(Aurora MySQL
v3 )から方針変更 • ORM・クエリビルダの機能で対応可ならそれを 使ってバッククォート対応する 7
気を付ける点② 結果の(暗黙)ソート • GROUP BY … ASC/DESC 廃止 ◦ GROUP
BY & 同じ列を指定した ORDER BY と等価 • GROUP BY(ORDER BY なし)ソート順不定 ◦ 以前は GROUP BY … ASC と同じ結果に • GROUP BY / ORDER BY 無指定 ◦ 主キー順 or 使用インデックス順→本来は不定 8
気を付ける点③ 一時テーブル • CREATE TEMPORARY TABLE • Reader でディスクに書き出し不可 ◦
「ENGINE=」の指定に制約 ◦ 一時テーブル用メモリ容量不足の恐れ ◦ https://aws.amazon.com/jp/blogs/database/use-the-temptable-stor age-engine-on-amazon-rds-for-mysql-and-amazon-aurora-mysql/ 9
気を付ける点④ 内部一時テーブル • こちらは UNION の処理などで内部的に使われる 一時テーブルの話 • CREATE TEMPORARY
TABLE 同様、Reader での ディスク書き出し不可 ◦ メモリ容量不足の恐れあり 10
気を付ける点⑤ 接続用ライブラリ • 公式 Connector と非公式ライブラリがある • いずれにせよバージョンアップ時に挙動が変わる 可能性がある ◦
例:ON UPDATE CURRENT_TIMESTAMP 列に MySQL Connector/J にて null で更新→ OK だったのが NG に ▪ explicit_defaults_for_timestamp 有効時 11
気を付ける点⑥ レプリケーション(移行時) • 3 バージョン間レプリケーション→サポート外に ◦ MySQL 5.6 → 8.0
のレプリケーションも • 切り戻し方向を考えれば移行は DMS 使用が妥当 • DMS : time・float 列がそのままでは移行不可 ◦ テーブルマッピングで該当列の型変換を個別指定する ▪ 精度(桁数)指定ありの float は NG 12
気を付ける点⑦ 管理系の情報 • Information Schema / Performance Schema ◦ MySQL
5.7 で sys スキーマ追加導入、8.0 で再編 ◦ かなり変化しているので先の本でも対象外に • 管理情報を使って自動化をしている場合は要注意 ◦ 自動化していなくても情報の見方が変わる点に注意 ◦ Performance Insights の待機イベントも変化 13
おまけ : COUNT(*) が失速する New!! • MySQL 8.0.14 から COUNT(*)
が並列処理可に • 実際には失速した ◦ CPU 使用率が 100% に ▪ でも Performance Insights では接続数分の負荷しかない謎 ◦ バッファプールに載っているのに Disk 読んでる? ▪ MySQL の既知の不具合っぽい挙動(本家では解決済み) 14
番外 : 組織内ロストテクノロジー化 • 注 : もちろん本来の意味ではない • 近年、「メールが分かる」技術者が減少 ◦
雰囲気でメールを送受信している • RDBMS についてもそれに近づきつつある ◦ 技術を理解しているメンバー不在←つらい ▪ 修正対応プロジェクトで割と話が伝わりづらい 15
まとめ • 結論:がんばりましょう ◦ AWS と MySQL の知識の両方が必要です ◦ くれぐれも無理はしないように
◦ ノールックバージョンアップは、運が良ければ行ける かもしれませんが事故ると死にます 16