2011-01-21 180 views
0

我正在更新一个实时数据库,通过添加新表的过程。恢复mysql数据库

有没有办法,如果这些更新出错了,要恢复原来的?

谢谢

+0

如果您除了添加新表格之外没有其他任何操作,您应该可以将它们“删除”。 (当然,备份副本太多不是一个大问题,但太少太可怕了。) – 2014-01-14 11:49:28

回答

3

如果你将要改变的实时数据库,那么你真的需要你开始之前做备份,您移除任何前置式访问后最好后端网站等,以便没有“活动”的数据库活动。 (如果你使用的是InnoDB而不是MyISAM表,那么这个问题就不那么严重了。)另外,当你进行修改时,你应该理想地阻止对数据库的所有访问,否则如果你必须将数据库滚回到其以前的状态。

要创建备份,最简单的解决方案是使用与MySQL捆绑的mysqldump命令行工具。这将创建一个文本文件,您可以使用该数据库恢复到其原始状态。

作为提示,您可能需要特别注意“--add-drop-table”选项,因为如果您想在备份文件的内容上跺一下任何内容,这将证明是有用的。 (注:这当然会擦出ALL“当前”的数据。)

最后,如果你将要作出的任何显著的变化,那么你真的想:

  1. 创建携带所有必要的改变等脚本(然后你可以在命令行通过“mysql < [text file name]”执行脚本。)

  2. 使用mysqldump转储数据库的当前内容,然后建立一个测试数据库与这些数据,因此您可以确保您的更改实际上按预期工作。

5

是的。通过这样做备份第一 ..

+2

+1来自我。 (无法抵制强调“第一”的道歉。):-) – 2011-01-21 11:09:46

+0

+1和@middaparka的额外功劳**强调**它:) – BoltClock 2011-01-21 11:09:54