没有触发器的Mysqldump

问题描述 投票:0回答:3

我正在使用 mysqldump 共享数据库转储,但我遇到了触发器问题。该命令不会添加带有触发器的“删除”或“替换”行,使得已经添加具有相同触发器名称的先前转储的人出现错误:

第 1420 行出现错误 1359 (HY000):触发器已存在

我在论坛上读到人们说这是 MySQL 缺少的功能,但所有帖子都是旧的,我想知道现在是否有办法做到这一点。

我知道有一种方法可以单独转储模式和数据,但我想保留一个转储来共享。

mysql database triggers dump mysql-error
3个回答
29
投票

有一个 mysqldump 选项 --skip-triggers 您应该使用它来跳过触发器。


0
投票

您没有指定版本。 mysqldump 5.6 及更高版本有

--add-drop-trigger
选项。


0
投票

例如,使用--skip-triggers,您可以将没有

triggers
apple数据库的表的模式和数据导出到
backup.sql
,如下所示。 *默认情况下,触发器是通过隐式--triggers导出的,并且我的答案解释了如何完美导出数据库:

mysqldump -u john -p --skip-triggers apple > backup.sql
© www.soinside.com 2019 - 2024. All rights reserved.