用途:指导从 MySQL 迁移到 MariaDB,涵盖原地升级与 dump-and-restore 两种路径,并给出按 MySQL 版本判断的决策树。
主要能力:提供兼容性矩阵(按 MySQL 5.6/5.7/8.0/8.4 列出所需补救);说明四大硬性差异:JSON 在 MariaDB 中为 LONGTEXT 别名,迁移后须为每个 JSON 列加 CHECK (JSON_VALID(col));MariaDB GTID 为 domain-server-sequence,与 MySQL 的 uuid:seqno 不兼容,跨库仅可用 binlog 位点复制且 MySQL 不能反向复制 MariaDB;MySQL 8 默认 caching_sha2_password 在 MariaDB 不存在,须用 ed25519 或 mysql_native_password 重建用户;INVISIBLE INDEX 须改写为 IGNORED INDEX。还覆盖 mysql.user 到 mysql.global_priv 的权限迁移与 mariadb-upgrade 必须且仅运行一次。
使用方式:原地升级时停 mysqld、卸载 MySQL 包但保留 datadir、安装 MariaDB、启动后执行 mariadb-upgrade;导出恢复时用 mysqldump --single-transaction --routines --triggers --events --add-drop-database 导出,恢复到干净 datadir,再运行 mariadb-upgrade,随后补 JSON CHECK、重建用户、改写 INVISIBLE 索引与 DEFAULT ROLE 语法并复核 my.cnf。
适用场景与限制:适用于 MySQL 到 MariaDB 的版本迁移与割接规划。MySQL 5.6 可近似直接替换;5.7 起需 JSON 补救;8.0 起需重建用户。具体价格、平台与效果暂未提供。