| 分類 | MySQL 5.7 特性 | MySQL 8.0 改進(jìn) / 變化 | 升級注意事項(xiàng) |
|---|---|---|---|
| 字符集 | 默認(rèn) latin1 | 默認(rèn)改為 utf8mb4 | 若舊庫為 utf8,需確認(rèn)字符集兼容,避免亂碼 |
| 系統(tǒng)表結(jié)構(gòu) | 元數(shù)據(jù)存儲在 .frm 文件 | 引入統(tǒng)一 數(shù)據(jù)字典 (Data Dictionary) | 無法回退至 5.7;升級后 .frm 不再使用 |
| InnoDB | 較舊鎖機(jī)制與日志系統(tǒng) | Redo/Undo 重構(gòu)、Atomic DDL、性能大幅提升 | 首次啟動需時(shí)間轉(zhuǎn)換舊表格式 |
| DDL 操作 | 非原子,失敗可能破壞表結(jié)構(gòu) | 支持 原子DDL(失敗可自動回滾) | 安全性提升,無需額外操作 |
| JSON | 支持 JSON 字段,但函數(shù)有限 | 新增 JSON_TABLE、聚合函數(shù)、索引支持 | JSON 查詢性能更強(qiáng),可替代 MongoDB 輕度場景 |
| 索引功能 | 不支持函數(shù)索引 / 隱藏索引 | 支持 函數(shù)索引、隱藏索引 | 可用于平滑索引優(yōu)化測試 |
| 窗口函數(shù) | ? 不支持 | ? 新增 ROW_NUMBER()、RANK() 等 | SQL 查詢能力大幅增強(qiáng) |
| CTE 公用表表達(dá)式 | ? 不支持 | ? 支持 WITH 和遞歸查詢 | 報(bào)表、樹形結(jié)構(gòu)更簡潔 |
| 角色管理 | 需手動分配權(quán)限 | ? 新增 Role 管理 (CREATE ROLE) | 管理員權(quán)限體系更清晰 |
| 認(rèn)證插件 | 默認(rèn) mysql_native_password | 默認(rèn)改為 caching_sha2_password | 若應(yīng)用驅(qū)動不支持,需手動改回舊方式 |
| 密碼安全 | 簡單策略 | 支持密碼過期、復(fù)雜度策略 | 提升安全性,初次升級需重新設(shè)策略 |
| 加密功能 | 僅部分加密 | ? 支持 表空間加密 (TDE) | 可選啟用,無需修改應(yīng)用 |
| 權(quán)限系統(tǒng) | 無法動態(tài)修改權(quán)限 | ? 支持運(yùn)行時(shí)動態(tài)調(diào)整權(quán)限 | 更方便臨時(shí)授權(quán)與回收 |
| 系統(tǒng)變量 | SET GLOBAL 臨時(shí)修改 | ? 支持 SET PERSIST 持久化修改 | 配置變更更持久化,減少改配置文件操作 |
| 性能 Schema | 數(shù)據(jù)維度較少 | 新增鎖、事務(wù)、I/O 細(xì)粒度性能視圖 | 可用于性能診斷與監(jiān)控 |
| Group Replication | 需插件配置復(fù)雜 | 集成更完善,支持 InnoDB Cluster | 推薦使用 MySQL Shell 管理 |
| GIS 功能 | 不完全兼容 OGC | 完全符合 OGC 標(biāo)準(zhǔn),支持更多空間函數(shù) | 地理數(shù)據(jù)更易遷移與可視化 |
| 排序規(guī)則 | 舊版本 collation | 新 collation (utf8mb4_0900_ai_ci) 更精準(zhǔn) | 升級后排序結(jié)果可能不同(如大小寫、重音) |
| 日志系統(tǒng) | 較舊 redo/undo 格式 | 新 redo log & undo tablespace 管理 | 啟動會自動升級格式 |
| 默認(rèn)表引擎 | InnoDB | InnoDB(優(yōu)化版) | 無需調(diào)整 |
| 配置文件參數(shù) | 一些參數(shù)棄用 | 例如 query_cache_* 全部移除 | 若仍配置,將導(dǎo)致啟動錯(cuò)誤 |
| 查詢緩存 (Query Cache) | 默認(rèn)啟用 | 完全移除 | 必須從配置文件中刪除相關(guān)項(xiàng) |
| 時(shí)間類型默認(rèn)行為 | 嚴(yán)格模式差異 | 時(shí)區(qū)與零日期檢查更嚴(yán)格 | 升級前檢查不合法時(shí)間值 |
| 復(fù)制架構(gòu) | 主從異步 | 支持多線程復(fù)制、GTID 強(qiáng)化 | 建議啟用 GTID 模式提升一致性 |
| 日志格式 | 支持 STATEMENT | 推薦使用 ROW 或 MIXED | 兼容性更高,減少丟失風(fēng)險(xiǎn) |
| 工具與Shell | 傳統(tǒng) mysql 客戶端 | 新增 MySQL Shell (mysqlsh) | 支持 JSON 模式與 InnoDB Cluster 管理 |
| 性能表現(xiàn) | 高并發(fā)下瓶頸明顯 | 改進(jìn)鎖調(diào)度、并行提交,性能提升 20-40% | 尤其 OLTP 場景提升顯著 |
| 云原生支持 | 無官方容器鏡像 | 官方維護(hù) Docker/K8s Operator | 可直接部署在容器環(huán)境 |
打賞
已打賞¥{{reward_price}}
