重新创建mysql数据库结构和存储过程

时间:2010-09-09 13:30:00

标签: mysql mysqldump

我在开发服务器上有一组MYSQL表,我需要将它放在生产服务器上。我怎样才能“重新创造”所有这些?

也存在触发因素(我认为)。我需要重新创造一切。

2 个答案:

答案 0 :(得分:2)

使用mysqldump创建一个转储文件,您可以将该文件提供给目标服务器上的mysql

要确保触发器也被导出,请使用--triggers选项。 (虽然我认为这些都是默认包含的。)

要确保存储过程也被导出,请使用--routines选项。请注意(强调我的):

  

在MySQL 5.1.2中添加了此选项。 在此之前,不会转储存储的例程。在MySQL 5.1.8之前,不会转储例程DEFINER值。这意味着在5.1.8之前,当重新加载例程时,将使用设置为重新加载用户的定义器创建它们。如果您需要使用其原始定义器重新创建例程,请直接转储并加载mysql.proc表的内容,如前所述。

答案 1 :(得分:0)

使用mysqldump(documentation located here)。如果未指定表,则它将采用所有表。您还可以显式选择要复制或忽略的表。您可以告诉它在create语句之前创建drop语句。它会处理触发因素,但我忘了它是否需要处理例程,你必须看一看。