MySQL数据库 - 备份问题
嗨我需要备份MySQL数据库,然后将其部署到另一台MySQL服务器上。MySQL数据库 - 备份问题
的问题是,我需要它的备份没有数据,创建数据库,表,程序,用户只需脚本,重置自动递增等...
我试过的MySQL管理员工具(Windows)和未选中“完全插入复选框”,但它仍然创造了它...提前 感谢
从phpMyAdmin中,您可以导出结构,无论有没有数据。 我不确定的唯一的事情是,它也出口用户。如果你喜欢,我明天早上可以测试一下。它也出口用户。您可以检查各种选项。
alt text http://www.obviousmatter.com/testso/export_options.jpg
使用mysqldump使用选项-d或--no数据
不要忘了-R选项来获得程序
此页面可以帮助您:http://dev.mysql.com/doc/refman/5.0/en/mysqldump.html
我试图 的mysqldump -u根-p -d -R MYDB> myback.sql 在注释 – Mike 2010-03-25 22:17:07
但却留下存储过程我没有看着它,但在的mysqldump的形式使用的评论/ * xxxxx .... * /其中xxxx是MySQL版本。如果您加载此转储的服务器与您进行备份的服务器相同或更新,则此注释将作为常规语句执行。这用于保持向后兼容性。 – 2010-03-25 22:48:25
@Mike:其实他们是“半”的评论:/ *! * /将被MySQL解释(请参阅http://dev.mysql.com/doc/refman/5.1/en/comments.html),但会被其他SQL服务器忽略。如果你想将你的模式和过程导出到另一个服务器上,我建议你一旦建立它们并在你的数据库中做的每一个改变都保持它们在sql文件中的版本 – PierrOz 2010-03-26 08:17:57
根据页面,没有一个很好的方法来转储这些例程,并让它们很容易被重新创建。
他们建议直接转储mysql.proc表。包括所有的数据。
然后用你的myback.sql来恢复结构。然后用它的所有数据恢复mysql.proc表。
” ......如果你需要程序将与原来的时间戳属性重新创建,不使用--routines。相反,倾倒,直接重载mysql.proc表的内容,使用的是MySQL帐户对于mysql数据库有适当的权限...“
如果我明白了,首先我应该用创建数据库来执行SQL文件,然后创建从单独文件到已创建数据库的过程。 是否正确? – Mike 2010-03-25 22:52:39
这将是非常友善的你 我今天会部署它,所以如果你会更快,这将是甜 thanx现在 – Mike 2010-03-26 08:29:06
我昨天晚上测试它(太好奇),它确实导出用户,权限等基本上任何你需要复制你的数据库,有或没有数据 - 你的选择。输出是一个脚本,其中包含所有的语句,并按正确的顺序排列。 – Whakkee 2010-03-26 08:34:52
这只是甜蜜的:) – Mike 2010-03-26 08:55:39