2

我继承了一个广泛使用存储过程的 Web 应用程序项目 (PHP/MySQL),但我不确定如何将这些转移到我的本地机器进行开发。

具体来说,我面临的困难是这些存储过程的导出和导入(最终目标是能够自动安装应用程序数据库的“基本”版本,包括存储过程)。

我将陈述我认为我理解的点点滴滴:

  • 我可以导出information_schema.ROUTINES表,但不能将它(phpMyAdmin)导入我的本地服务器(我相信这information_schema是一个系统数据库?)

  • 由于我没有对“在线” MySQL 服务器的 shell/命令行访问权限,因此诸如此类的工具mysqldump的用途非常有限(移植到我的本地测试机,但反之亦然)

  • 该命令SHOW CREATE PROCEDURE procedure_name;应该输出可用于创建过程的 SQL,但我似乎无法正常运行(ERROR 1305 (42000): PROCEDURE delAddress does not exist

  • 假设上述工作正常,下一步是让它循环导出所有存储过程(..然后在其他地方通过 phpMyAdmin 运行,导入它)

请更正任何不正确的地方,并提供有关如何在数据库服务器之间自动移植的指导。

非常感谢

4

2 回答 2

1

事实证明,解决方案非常简单。

在导出页面上,有一个Add CREATE PROCEDURE / FUNCTION / EVENT statement选项。

通过选中此框,它还可以导出在以后/在另一台服务器上导入过程所需的 SQL。

于 2013-03-19T13:40:25.320 回答
0

使用 MySQL Workbench 的迁移功能。整个过程都是免费的,而且做得非常棒。

于 2013-03-03T21:49:00.263 回答