2026 年春天,資料庫圈最熱議的新聞不是什麼新功能,而是一張訃聞。MySQL 8.0 已於 2026 年 4 月隨 8.0.46 版正式進入 End of Life,整個五月的 PHP/Laravel 生態圈幾乎都在做同一件事:盯著伺服器後台,發現自己還在 8.0 上。Oracle 從此不再為 8.0 發布任何安全修補、bug fix 或相容性更新。今後每一個 CVE 對 8.0 用戶來說,都是永久性的破口。
而這件事影響最深的群體,就是 PHP 與 Laravel 接案產業。過去五年支撐整個中小型網站市場的 LAMP/LEMP 預設組合,骨子裡跑的都是 MySQL 8.0。Magento 商家、WordPress 媒體、Laravel SaaS 創業者——大多數人還沒升級。Atlas 團隊 5 月 5 日的文章與 Percona 的 EOL 指南都印證了顧問現場看到的事實:絕大多數正式環境仍在 8.0,而維運團隊現在才意識到大限已至。
一、升級其實不難——但仍經常翻車
MySQL 8.4 LTS 提供安全修補直到 2032 年 4 月,整整六年的穩定支援。最大的效能亮點是 InnoDB 的重寫:更精細的 buffer pool 管理、更高的交易吞吐、以及 ANALYZE TABLE 執行時自動更新 histogram。對大多數 Laravel 應用而言,這幾乎是「免費」的 10–20% 高負載查詢延遲改善,無須改任何程式碼。
但 8.4 也翻轉了兩個會把教學等級安裝直接打死的預設值。第一,mysql_native_password 套件預設關閉。舊版 PHP/PDO driver、寫死了 caching_sha2_password = OFF 的舊 .env、以及一些舊 Composer 套件會直接連不上。第二,弱加密(RC4、3DES、SSLv3)全數移除。一些用古老函式庫與 MySQL 走 TLS 的內部系統,會在沒有任何警告的情況下斷線。
複寫使用者也拿到一個真正有用的升級:Tagged GTIDs 讓你在多源複寫時為一群交易打標籤,這是處理跨區寫入的第一個真正合理的設計。Magento 商家尤其要徹底測試:訂單表、EAV join、商品價格索引在 8.4 的 optimizer 下表現會不一樣。
二、這個禮拜 Laravel 工程師該做什麼
在 staging 上跑 php artisan db:show 對 8.4 測試一次,看 driver 有沒有跳 caching_sha2_password 警告。如果你用 Forge 或 Ploi,兩家都已經提供 8.4 LTS 一鍵建立。如果你是自架 Nginx + PHP-FPM + MySQL,安全步驟是:先架一台 8.4 副本→全測試套件對它跑兩週→挑離峰時段切換。永遠不要直接 in-place 升級 production,沒有測過的 rollback 等於沒有 rollback。
對 Magento 商家而言,MGT Commerce 與 Adobe 自家四月份的官方指引講得更白:你必須在 Q3 旺季前完成升級,因為 Adobe 後續會把 Magento 2.4.8 LTS 直接綁定 8.4,舊版資料庫將不再被認證支援。
三、Percona 的延伸支援,對大多數人是陷阱
Percona 有提供「EOL 後支援」——基本上就是把安全 patch backport 到 8.0。這對受監管行業(銀行、醫療、國防承包商)那種「這一季絕對搬不動」的場景確實有用。但對我們這種——接案工作室、SaaS 新創、電商 SMB——花錢請第三方幫你延命一個 EOL 資料庫,是經濟學上錯誤的決定。一年的延伸支援費,往往比直接升級的工程費還高。
我的觀點
MySQL 8.0 EOL 是當前 PHP 圈被最低估的一個工程風險。大家都在討論 Laravel 13 的 AI SDK、FrankenPHP 的 worker mode;同時,托住這些閃亮新功能的資料庫,已經悄悄停止收 patch,而大多數團隊根本還沒注意到。
如果我現在經營一間小工作室,這禮拜給客戶的訊息只要一段話:「您的 MySQL 已 EOL。沒有 patch 代表什麼。我們的遷移報價是多少。我們可以做的三個時段是這些。」把升級包裝成風險管理,不要包裝成令人興奮的技術專案,因為它一點都不令人興奮——它是衛生問題。在 5、6 月就把這批工作上單的工作室,到了 8 月某個 CVE 砸下來、又沒有 patch 可打的時候,就不會接到那通生氣的電話。
資料來源
- MySQL 8.0 End of Life: Plan Your Move Before Support Runs Out — Atlas
- MySQL 8.0 EOL April 2026: Complete Upgrade Guide to MySQL 8.4 LTS — JusDB
- MySQL 8.0 EOL: Upgrade to 8.4 or Get Post-EOL Support — Percona
- MySQL 8.0 End of Life: The Magento Store Upgrade Guide for April 2026 — MGT Commerce
- MySQL release lifecycle — endoflife.date