gpt4 book ai didi

mysqldump 只查看定义、触发器、例程和事件

转载 作者:行者123 更新时间:2023-11-30 23:53:02 26 4
gpt4 key购买 nike

我希望能够将这些数据库对象导出到一个文件中。它应该以这样一种方式运行该文件(稍后)能够在原始数据库或不同的数据库中重新创建相同的 View 、触发器、函数、存储过程和事件。

换句话说,我不想要表定义及其关联的索引和约束。

我曾期望在 mysqldump 上提供直接的选项,但事实并非如此。

这几乎对我有用:

mysqldump -u root -p source_database --no-data --no-create-db --no-create-info 
--routines --triggers --skip-opt --set-gtid-purged=OFF > db_objects.sql

但是明显缺少事件 View 。此外,我需要视情况而定删除或替换每个对象,因为它可能已经存在。

我将不胜感激任何朝着正确方向的插入。或许我需要利用脚本来实现这一点?

编辑:我为什么需要这个?

我希望能够运行一个脚本,一次性重新创建所有这些对象。这可能是生产服务器维护的一部分,使用来自开发服务器的更新副本。

现在,生产服务器上的某些表可能也需要更新 (ALTERED),但这些更敏感,需要更多考虑。据我了解,您可能一天 24 次删除并重新创建 View 、事件、触发器和例程(现在我有点夸张了!),几乎不用担心数据冲突。

最佳答案

试试这个我试过它不显示 .sql 文件中的任何表

mysqldump -u root -p blog2 --no-data --no-create-db --no-create-info --routines --triggers --skip-opt --lock-tables --set-gtid-purged=OFF > blogs2.sql

关于mysqldump 只查看定义、触发器、例程和事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34848449/

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