RDS MySQL 8.0 از Standard Support خارج شد؛ حالا چه کنیم؟

RDS MySQL 8.0 از Standard Support خارج شد؛ حالا چه کنیم؟

Amazon RDS for MySQL 8.0 در 31 ژوئیه 2026 از Standard Support خارج شد و از امروز 1 اوت، ماندن روی این major version وارد مسیر Extended Support پولی می شود. در این راهنما می بینید چه چیزی واقعاً عوض شده، چه زمانی باید به MySQL 8.4 بروید و چطور migration را با pre-check، Blue/Green و rollback کم ریسک کنید.

از 31 ژوئیه چه اتفاقی برای RDS MySQL 8.0 افتاد؟

Amazon RDS for MySQL 8.0 در 31 ژوئیه 2026 به پایان Standard Support رسیده است. این اتفاق به معنی خاموش شدن فوری دیتابیس های 8.0 نیست؛ تفاوت مهم این است که از 1 اوت 2026، نمونه هایی که روی این major version باقی مانده اند وارد مسیر RDS Extended Support می شوند و هزینه این پشتیبانی افزوده آغاز می شود. AWS برای MySQL 8.0 پایان Extended Support را 31 ژوئیه 2029 اعلام کرده است. در عمل، تیم ها سه انتخاب دارند: مهاجرت به MySQL 8.4، ماندن موقت روی 8.0 با هزینه Extended Support، یا بازطراحی برنامه مهاجرت برای زمانی بسیار نزدیک.

چیزی که نباید انجام دهید این است که فقط به دلیل روشن بودن instance نتیجه بگیرید وضعیت عادی است. Standard Support یک مرز عملیاتی است: بعد از آن، هزینه و سیاست patching تغییر می کند و باقی ماندن روی نسخه قدیمی باید تصمیم آگاهانه و زمان دار باشد. AWS Extended Support همچنان critical و high CVEها، patchهای مشکلات بحرانی و امکان استفاده از پشتیبانی استاندارد AWS را فراهم می کند، اما این سرویس پولی است و برای خرید زمان طراحی شده، نه تبدیل 8.0 به مقصد دائمی معماری.

سه مسیر تصمیم گیری: Upgrade، Extended Support یا تعویق کنترل شده

مسیرمزیتریسک/هزینهمناسب برای
ارتقا به MySQL 8.4خروج از Extended Support و رفتن به major پشتیبانی شدهنیاز به تست سازگاری و برنامه downtime/rollbackاغلب workloadهای تولیدی با امکان تست
ماندن موقت روی 8.0 با Extended Supportزمان بیشتر برای تست و رفع incompatibilityهزینه اضافی و بدهی فنی ادامه دارسیستم های حساس که مهاجرت فوری پرریسک است
تعویق بدون برنامههیچ مزیت واقعیافزایش هزینه، ریسک عملیاتی و migration اضطراری در آیندهتوصیه نمی شود

برای اکثر تیم ها پاسخ صحیح «ارتقا همین دقیقه» نیست؛ پاسخ صحیح این است که امروز migration plan زمان دار داشته باشید. دیتابیس production معمولاً به ORM، connector، stored procedure، parameter group، authentication plugin، read replica، ETL و ابزارهای observability متصل است. major upgrade ممکن است هرکدام از این نقاط را تحت تأثیر بگذارد. بنابراین Extended Support می تواند یک buffer منطقی باشد، اما فقط وقتی milestone خروج از آن، owner و deadline مشخص دارید.

چرا مهاجرت 8.0 به 8.4 فقط تغییر عدد نسخه نیست؟

AWS این ارتقا را major engine version upgrade می داند و آن را خودکار انجام نمی دهد. MySQL 8.4 تغییرات رفتاری و تنظیماتی دارد که باید در محیط شبیه production بررسی شوند. نمونه مهمی که AWS صریحاً ذکر می کند authentication است: در RDS for MySQL 8.4، mysql_native_password به صورت پیش فرض غیرفعال است و caching_sha2_password مسیر پیش فرض محسوب می شود. اگر سرویس قدیمی، driver یا حساب دیتابیس شما هنوز به روش قبلی وابسته باشد، ممکن است مشکل نه در خود دیتابیس بلکه در لحظه اتصال برنامه ظاهر شود.

قبل از مهاجرت، inventory بسازید: نسخه و minor دقیق instance، parameter group، option group، accountهای دیتابیس و authentication plugin آن ها، engine-specific SQL modeها، event scheduler، replication topology، dependencyهای application، نسخه connectorها و هر ابزار backup یا CDC. این inventory باعث می شود تست شما به چند query دستی محدود نشود. هدف این است که بفهمید «چه چیزهایی فرض کرده اند MySQL 8.0 است» و آن فرض ها را قبل از cutover پیدا کنید.

Pre-check را روی Clone اجرا کنید، نه در اوج بار Production

AWS در راهنمای عملی خود توصیه می کند MySQL Shell check-for-server-upgrade را روی instance بازیابی شده از snapshot اجرا کنید، چون این ابزار metadata را گسترده اسکن می کند و اجرای آن روی production می تواند روی workload اثر بگذارد. خروجی checker یافته ها را به Error، Warning و Notice تقسیم می کند. Errorها می توانند مانع upgrade شوند، Warningها نیاز به ارزیابی موردی دارند و Noticeها بیشتر اطلاعاتی اند. در کنار این ابزار، RDS هنگام major upgrade pre-upgrade validation خودش را نیز اجرا می کند و این دو مجموعه کنترل کاملاً یکسان نیستند.

mysqlsh -- util check-for-server-upgrade \
  --user=<user-name> --host=<instance-endpoint> --port=3306 \
  --target-version=8.4.x

این فرمان نمونه ای است که AWS در راهنمای مهاجرت آورده است. برای production بهتر است ابتدا snapshot را restore کنید، دسترسی های لازم را روی clone بدهید و checker را همان جا اجرا کنید. سپس یافته ها را تبدیل به backlog مهاجرت کنید: هر Error باید owner و اصلاح مشخص داشته باشد؛ Warningها باید با test case برنامه بررسی شوند؛ و بعد از رفع موارد، checker دوباره اجرا شود. یک بار اجرای precheck بدون چرخه اصلاح و تکرار، assurance کافی ایجاد نمی کند.

Blue/Green چه زمانی از In-place Upgrade بهتر است؟

In-place upgrade از نظر مراحل ساده تر است، اما blast radius بیشتری دارد: همان instance اصلی وارد فرایند major upgrade می شود و rollback آن به سادگی downgrade نسخه نیست. برای سیستم هایی که downtime و rollback برایشان حساس است، AWS Blue/Green Deployments گزینه جذاب تری است. ایده این است که محیط سبز را از production ایجاد کنید، آن را به 8.4 ارتقا دهید، تست های برنامه را روی آن انجام دهید و سپس switchover کنترل شده داشته باشید. این روش هزینه و هماهنگی بیشتری دارد، اما test surface بسیار واقعی تری فراهم می کند.

معیارIn-place UpgradeBlue/Green
پیچیدگی اجراییکمتربیشتر
امکان تست نسخه جدید قبل از Cutoverمحدودترقوی تر
Downtimeبه فرایند upgrade وابستهبرای کاهش downtime طراحی شده
Rollbackنیازمند برنامه جدا و restore/replicationقابل طراحی با محیط قبلی و replication
مناسب برایسیستم های کم ریسک تر و maintenance window مناسبProduction حساس و workloadهای مهم

Blue/Green به معنی rollback جادویی نیست. قبل از switchover باید مشخص کنید اگر بعد از cutover خطای منطقی دیده شد چه می کنید و داده های جدید چگونه به محیط قبلی برمی گردند. AWS در راهنمای خود reverse replication یا AWS DMS را به عنوان بخشی از سناریوی rollback بررسی می کند. نکته اصلی این است که rollback باید پیش از migration طراحی و تمرین شود؛ بعد از خراب شدن production زمان مناسبی برای تصمیم گیری درباره جهت replication نیست.

Extended Support را به عنوان هزینه خرید زمان ببینید

Extended Support برای MySQL 8.0 از 1 اوت 2026 وارد مرحله قیمت گذاری سال اول می شود. AWS هزینه را بر اساس vCPU و ساعت محاسبه می کند و Region و مدت ماندن بعد از Standard Support روی رقم نهایی اثر دارند. در Multi-AZ، primary و standby هر دو ظرفیت محاسباتی دارند و اثر هزینه می تواند بیشتر شود. به همین دلیل تصمیم مهاجرت باید در سطح fleet انجام شود؛ شاید یک instance کوچک هزینه قابل تحملی داشته باشد، اما ده ها Multi-AZ database و read replica می توانند هزینه تعویق را به یک آیتم جدی تبدیل کنند.

در این مقاله عدد ثابت قیمت نمی دهیم، چون قیمت به Region، اندازه و توپولوژی بستگی دارد و ممکن است تغییر کند. روش درست این است که inventory RDS را استخراج کنید، vCPU هر instance و replica را محاسبه کنید و هزینه Extended Support را برای دوره واقعی تعویق در AWS Pricing Calculator یا صفحه رسمی قیمت گذاری مدل کنید. سپس آن را کنار هزینه مهندسی migration بگذارید. این مقایسه معمولاً باعث می شود «فعلاً بمانیم» از یک تصمیم مبهم به یک trade-off قابل اندازه گیری تبدیل شود.

Runbook پیشنهادی مهاجرت 8.0 به 8.4

  1. تمام RDS MySQL 8.0ها را در همه Regionها و حساب ها inventory کنید و owner هرکدام را مشخص کنید.
  2. نسخه minor دقیق، topology، Multi-AZ، read replica، parameter group و وابستگی های برنامه را ثبت کنید.
  3. یک snapshot تازه بگیرید و clone قابل تست بسازید؛ pre-upgrade checker و RDS validation را اجرا کنید.
  4. authentication، connectorها، ORM، queryها، stored procedureها، jobها و ابزارهای CDC/ETL را روی 8.4 تست کنید.
  5. برای workload مهم Blue/Green را ارزیابی کنید؛ برای workload ساده تر maintenance window و in-place را با downtime واقعی آزمایش کنید.
  6. قبل از production، backup restore و rollback را تمرین کنید و معیارهای abort را مکتوب کنید.
  7. cutover را با metricهای latency، error rate، replication lag، connection failure و query performance مانیتور کنید.
  8. بعد از تثبیت، resourceهای قدیمی و Extended Support dependency را حذف و runbook را برای بقیه fleet تکرار کنید.

پرسش های متداول

آیا RDS MySQL 8.0 از 31 ژوئیه 2026 خاموش می شود؟

خیر. Standard Support پایان یافته و دیتابیس می تواند تحت RDS Extended Support ادامه دهد؛ این مسیر پولی است.

هزینه Extended Support برای MySQL 8.0 از چه زمانی شروع می شود؟

طبق جدول رسمی AWS، قیمت گذاری سال اول Extended Support برای MySQL 8.0 از 1 اوت 2026 آغاز می شود.

مقصد توصیه شده برای ارتقای RDS MySQL 8.0 چیست؟

AWS مسیر major upgrade از MySQL 8.0 به MySQL 8.4 را پشتیبانی و برای خروج از پایان پشتیبانی توصیه می کند.

آیا major upgrade به 8.4 خودکار انجام می شود؟

خیر. AWS major version upgrade را به دلیل ریسک سازگاری خودکار انجام نمی دهد و باید آن را برنامه ریزی و درخواست کنید.

برای کاهش downtime بهتر است In-place برویم یا Blue/Green؟

برای workload حساس، Blue/Green امکان تست محیط سبز و switchover کنترل شده می دهد؛ انتخاب نهایی به topology، downtime و rollback شما بستگی دارد.

قبل از upgrade چه تستی اجرا کنیم؟

AWS استفاده از MySQL Shell check-for-server-upgrade روی clone بازیابی شده از snapshot را در کنار validation داخلی RDS پیشنهاد می کند.

منابع رسمی و جمع بندی

تاریخ های پشتیبانی در تقویم رسمی نسخه های RDS for MySQL آمده است و ماهیت Extended Support در مستندات RDS Extended Support توضیح داده می شود. برای طراحی upgrade، راهبردهای رسمی AWS برای مهاجرت MySQL 8.0 به 8.4 و راهنمای precheck، Blue/Green و rollback دو مرجع اجرایی اصلی هستند.

جمع بندی: امروز مسئله اصلی MySQL 8.0 «آیا هنوز کار می کند؟» نیست؛ مسئله این است که از این نقطه به بعد ماندن روی آن یک تصمیم هزینه دار و زمان دار است. اگر هنوز migration plan ندارید، اول inventory و clone بسازید، سپس compatibility را اندازه بگیرید و بعد روش cutover را انتخاب کنید. Extended Support برای خریدن زمان مفید است، اما بهترین استفاده از آن تبدیل زمان خریداری شده به مهاجرت آزمایش شده و قابل rollback است.

مطالب پیشنهادی

.NET 8 و .NET 9 در 10 نوامبر 2026 EOL می شوند؛ مسیر مهاجرت امن به .NET 10

.NET 8 و .NET 9 در 10 نوامبر 2026 EOL می شوند؛ مسیر مهاجرت امن به .NET 10

پشتیبانی .NET 8 و .NET 9 در 10 نوامبر 2026 تمام می شود. مسیر مهاجرت به .NET 10 را از csproj تا Container، EF Core، CI و Rollback بررسی می کنیم.

PostgreSQL 19 Beta 2؛ قبل از GA چه چیزهایی را روی دیتابیس واقعی تست کنیم؟

PostgreSQL 19 Beta 2؛ قبل از GA چه چیزهایی را روی دیتابیس واقعی تست کنیم؟

PostgreSQL 19 Beta 2 برای Production نیست، اما بهترین زمان تست workload واقعی است. Query Plan، Temporal، SQL/PGQ، CDC، Extension و Upgrade را بررسی می کنیم.

AWS Blocks چیست؟ مقایسه عملی با CDK و Amplify برای ساخت Backend Type-safe

AWS Blocks چیست؟ مقایسه عملی با CDK و Amplify برای ساخت Backend Type-safe

AWS Blocks یک Backend Toolkit تایپ سیف و Local-first است. آن را با CDK و Amplify از نظر abstraction، Type Safety، Sandbox، امنیت و Production مقایسه می کنیم.

Node.js Security Release جولای 2026؛ 11 آسیب پذیری و نسخه هایی که باید نصب کنید

Node.js Security Release جولای 2026؛ 11 آسیب پذیری و نسخه هایی که باید نصب کنید

Node.js در 29 ژوئیه 2026 یازده آسیب پذیری را در خطوط 22، 24 و 26 اصلاح کرد. نسخه های امن، دامنه CVEها و چک لیست Patch Production را بررسی می کنیم.