dol*_*oug 13 mysql mysqldump trigger backup stored-procedures
有没有办法制作一个 mysqldump 来保存指定数据库中的所有触发器和过程?
前段时间我读到这mysqldump
也将保存我的触发器,但它看起来不像。我的第二个相关问题是如果触发器存在,我如何检入 sql 文件?
Rol*_*DBA 14
我通常不会将触发器与它们适用的表分开。我这样倾倒:
mysqldump -u... -p... --no-data --routines --triggers dbname > DBSchema.sql
Run Code Online (Sandbox Code Playgroud)
检查是否存在这样的例程和触发器:
SELECT COUNT(1) FROM mysql.proc;
SELECT COUNT(1) FROM information_schema.triggers;
SELECT * FROM information_schema.triggers\G
Run Code Online (Sandbox Code Playgroud)
如果要对 MySQL 实例中的所有数据库执行此操作,请执行以下操作:
mysqldump -u... -p... --no-data --routines --triggers dbname > DBSchema.sql
Run Code Online (Sandbox Code Playgroud)
这样,存储过程进入数据库的例程转储,而模式和触发器进入另一个转储。