MySQL - 将所有存储过程从一个模式复制到另一个 [关闭]
Posted
技术标签:
【中文标题】MySQL - 将所有存储过程从一个模式复制到另一个 [关闭]【英文标题】:MySQL - Copying all stored procedure from one schema to another [closed] 【发布时间】:2019-09-04 14:45:52 【问题描述】:我需要使用 SQL 脚本以编程方式将所有存储过程从一个模式复制到另一个模式。
如何在 mysql 中做到这一点?我不想运行 php 脚本。
谢谢
编辑:我在 MySQL 8 上。表 mysql.proc 不存在。此外,这些模式位于同一台服务器上。
【问题讨论】:
@AntonioVenerosoContreras be nice 你的评论越来越少了“你可以在 5 秒内谷歌一下。” 你是对的@RaymondNijland,对不起文森特。 @AntonioVenerosoContreras 我看到了这篇文章。我忘了说我在 MySQL 8 上。这篇文章只提供了 MySQL 5.7 的解决方案,它有 mysql.proc 表。 “我需要使用 SQL 脚本以编程方式将所有存储过程从一个模式复制到另一个模式。” 使用common_schema 和使用@987654323 可能很容易做到这一点@ .. 现在我考虑了一下,但不确定这个 MySQL 框架是否适用于 MySQL 8,我认为它会 .. 【参考方案1】:使用 mysqldump 从一个模式中转储例程 https://dev.mysql.com/doc/refman/8.0/en/mysqldump-stored-programs.html
喜欢
mysqldump --routines --no-create-info --no-data --no-create-db --skip-opt yourdb > yourdb.sql
并导入新的
mysql -u root -p yournewdb < yourdb.sql
【讨论】:
【参考方案2】:参考
从mysql
.proc
中选择 *
获得你想要的。 干得好。
【讨论】:
对不起,忘了说我在 MySQL 8.0 服务器上。此表仅适用于 5.7。 SELECT * FROM information_schema.routines 然后呢?我有一个存储过程列表。如何以编程方式将它们复制到另一个模式?包括参数等。 @VincentL 你可以使用INSERT INTO information_schema.routines SELECT ... FROM information_schema.routines WHERE ...
@Barmar 我会拒绝访问,因为这是一个视图,而不是一个表。以上是关于MySQL - 将所有存储过程从一个模式复制到另一个 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章