我在开发服务器上有一组MYSQL表,我需要将它放在生产服务器上。我怎样才能“重新创造”所有这些?
也存在触发因素(我认为)。我需要重新创造一切。
答案 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语句。它会处理触发因素,但我忘了它是否需要处理例程,你必须看一看。