在MySQL服务器之间移植存储过程

时间:2013-03-01 14:36:45

标签: php mysql stored-procedures porting

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

具体来说,这是我遇到困难的这些存储过程的导出和导入(最终目的是能够自动安装应用程序数据库的“基础”版本,完成存储过程)。 / p>

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

  • 我可以导出information_schema.ROUTINES表,但无法将其导入(phpMyAdmin)到我的本地服务器上(我相信information_schema是系统数据库吗?)

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

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

    < / LI>
  • 假设上述工作正常,下一步是循环导出所有存储过程(..然后通过phpMyAdmin在别处运行,导入它)

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

非常感谢

2 个答案:

答案 0 :(得分:0)

使用MySQL Workbench的迁移功能。整个事情是免费的,它做了一个了不起的工作。

答案 1 :(得分:0)

原来这个解决方案非常简单。

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

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