SuperAPI AI 工具集

mariadb-agents-migration-validator

数据与分析

查看项目

更新于 10-15 22:18

技能介绍

用途:在把 MySQL SQL 转储、模式或代码库导入 MariaDB 之前做确定性校验,不执行迁移本身,而是按固定 10 个差异维度扫描并产出分级报告。

主要能力:按顺序扫描全部 10 个维度,不得因转储“看起来标准”而跳过。每个发现标注 BLOCKER、WARNING 或 SUGGESTION。BLOCKER 示例:caching_sha2_password 用户、INVISIBLE INDEX 关键字、GTID 连续性预期、GROUPS 窗口帧、MySQL 8 函数索引语法。WARNING 示例:JSON 列、sql_mode 默认差异、非 InnoDB 存储引擎。SUGGESTION 示例:utf8(utf8mb3)字符集、可改为序列的 AUTO_INCREMENT。每条发现必须引用解释修复的规范技能。

使用方式:输出单张发现表,列为 finding、severity、location、MySQL-vs-MariaDB divergence、remediation step、skill-ref,最后给出结论行。严重级别排序为 BLOCKER、WARNING、SUGGESTION。结论规则:任一 BLOCKER 即 FAIL,须先修复再导入;零 BLOCKER 且有一个以上 WARNING 为 PASS WITH WARNINGS;零 BLOCKER 且零 WARNING 为 PASS。无论结论如何,都建议在导入后恰好运行一次 mariadb-upgrade。干净转储也出报告,表格零行、结论 PASS。

关键限制:MariaDB 的 JSON 是 LONGTEXT 别名而非原生二进制,导入后无写入时校验,需用 CHECK (JSON_VALID(col)) 约束结构,索引用虚拟列上的函数索引;GTID 格式不兼容,不能互通;MariaDB 不提供 caching_sha2_password 或 sha256_password;INVISIBLE 应改写为 IGNORED;不支持内联表达式索引和 GROUPS 窗口帧。本技能只扫描 MySQL 与 MariaDB 差异,不分析查询或调优服务器;实际迁移用 mariadb-impl-migration-mysql-to-mariadb,原生 MariaDB 模式审查用 mariadb-agents-schema-reviewer。