如何使用mysqldump R与E参数备份MySQL存储过程及触发器?

2026-05-07 12:191阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计889个文字,预计阅读时间需要4分钟。

如何使用mysqldump R与E参数备份MySQL存储过程及触发器?

直接执行以下命令将不会包含存储过程、函数或触发器:

根本原因在于权限与安全策略:这些对象属于“程序性逻辑”,需显式启用导出开关,否则 mysqldump 为兼容旧版本和最小权限场景,默认禁用。

--routines(-R)参数:导出存储过程和函数

--routines(简写为 -R)告诉 mysqldump 把数据库中所有 PROCEDUREFUNCTION 的定义一并写入输出 SQL 文件。

  • 必须有 SELECT 权限在 mysql.proc 表(MySQL 5.7 及以前)或 mysql.routines(8.0+),普通用户常因缺此权限而静默失败
  • 导出内容是 CREATE PROCEDURE / CREATE FUNCTION 语句,不含调用逻辑或运行时状态
  • 若只想导出某几个过程,mysqldump 不支持按名过滤,得靠后续 grep 或脚本提取
  • 示例命令:mysqldump -u root -p -R --no-data myapp_db > schema_with_routines.sql(加 --no-data 可只导结构+过程,不导表数据)

--triggers(-E)参数:导出触发器

--triggers(简写为 -E)控制是否导出触发器。

阅读全文
标签:Mysql

本文共计889个文字,预计阅读时间需要4分钟。

如何使用mysqldump R与E参数备份MySQL存储过程及触发器?

直接执行以下命令将不会包含存储过程、函数或触发器:

根本原因在于权限与安全策略:这些对象属于“程序性逻辑”,需显式启用导出开关,否则 mysqldump 为兼容旧版本和最小权限场景,默认禁用。

--routines(-R)参数:导出存储过程和函数

--routines(简写为 -R)告诉 mysqldump 把数据库中所有 PROCEDUREFUNCTION 的定义一并写入输出 SQL 文件。

  • 必须有 SELECT 权限在 mysql.proc 表(MySQL 5.7 及以前)或 mysql.routines(8.0+),普通用户常因缺此权限而静默失败
  • 导出内容是 CREATE PROCEDURE / CREATE FUNCTION 语句,不含调用逻辑或运行时状态
  • 若只想导出某几个过程,mysqldump 不支持按名过滤,得靠后续 grep 或脚本提取
  • 示例命令:mysqldump -u root -p -R --no-data myapp_db > schema_with_routines.sql(加 --no-data 可只导结构+过程,不导表数据)

--triggers(-E)参数:导出触发器

--triggers(简写为 -E)控制是否导出触发器。

阅读全文
标签:Mysql