gpt4 book ai didi

使用 sql dump 克隆数据库时出现 MYSQL 错误 - 错误 1359 (HY000) : Trigger already exists

转载 作者:行者123 更新时间:2023-11-29 05:50:47 32 4
gpt4 key购买 nike

我有一个用于实时项目的 MySQL 数据库,我想在可用于开发目的的同一台服务器上创建它的副本。我已经使用 MySQL 转储创建了实时数据库的副本。我这样做如下:

mysqldump -u root -p mydatabase_live > mydatabase_dump.sql

然后我登录到 MySQL 并创建了一个名为 mydatabase_test 的空数据库。然后我尝试通过退出 MySQL 并执行以下操作将转储复制到新创建的 database_test:

mysql -u root -p database_test < mydatabase_dump.sql

这在第 527 行给我错误消息 ERROR 1359 (HY000):触发器已存在。

当我重新登录到 MySQL 并检查我刚刚转储的数据库上的触发器时,我看不到任何具有重复名称的触发器。我已经尝试重复上述过程以防初始转储中出现某种错误,但问题仍然存在。

谁能解释为什么我会收到此错误消息以及如何解决这个问题?

我正在使用适用于 Linux 的 MySQL Ver 14.14 Distrib 5.7.25

* 请注意在下面接受的答案中添加详细信息 *可以在文本编辑器中打开 MySQL 转储文件。我用过vi。解决方案是找到触发器并更改触发器名称的一部分,将其标识为属于您从中获取转储的模式,将其更改为您针对转储的模式。在我的例子中,这意味着将 mydatabase_live.my_table 更改为 mydatabase_test.my_table。然后登录mysql,删除测试表然后重新创建它,然后注销并再次执行复制命令。

最佳答案

触发器存储在 Information_Schema.Triggers 表中。也许这就是为什么您不能复制它们,也许可以用不同的名称创建一个新的?

在这里查看更多信息

https://dev.mysql.com/doc/refman/8.0/en/faqs-triggers.html

关于使用 sql dump 克隆数据库时出现 MYSQL 错误 - 错误 1359 (HY000) : Trigger already exists,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54578970/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com