- **现状**: - 当前 `mysqldump` 仅导出表结构、数据和视图,不包含存储过程、函数和事件。 - 迁移到新环境时,需要额外手工同步 routines。 - **优化思路**: - 在备份脚本的 `DUMP_CMD` 中按需增加 `--routines`(以及可选 `--events`)参数: - 支持通过开关控制:例如 `INCLUDE_ROUTINES=1` 时才追加 `--routines`。 - 评估并确保备份账号具备导出 routines 所需权限(如 `SHOW VIEW`、`SELECT`、`CREATE ROUTINE` 等)。 - **还原方案**: - 在还原脚本中,确保执行备份文件中的 `CREATE PROCEDURE` / `CREATE FUNCTION` / `CREATE EVENT` 语句: - 需要还原账号拥有相应的 `CREATE ROUTINE` / `ALTER ROUTINE` / `EVENT` 权限。 - 文档中明确说明:在多环境(测试/生产)间迁移时,routine 会随数据结构一并迁移。 - 可选:提供单独只导出/导入 routines 的模式,方便独立迁移或排错。
mysqldump仅导出表结构、数据和视图,不包含存储过程、函数和事件。DUMP_CMD中按需增加--routines(以及可选--events)参数:INCLUDE_ROUTINES=1时才追加--routines。SHOW VIEW、SELECT、CREATE ROUTINE等)。CREATE PROCEDURE/CREATE FUNCTION/CREATE EVENT语句:CREATE ROUTINE/ALTER ROUTINE/EVENT权限。