您当前的位置:首页>>技术中心>>数据恢复文章>>正文
 
MySQL数据库和备份与恢复
作者: 来源: 日期:2007-9-10 11:29:06  点击次数:

间内已经被修改,更新日志包含了用于进行这些修改的查询。你可以使用日志文件作为mysql的输入来重复查询。这已正是为什么要启用更新日

志的原因。 

  恢复过程视你必须恢复的信息多少而不同。实际上,恢复整个数据库比单个表跟容易,因为对于数据库运用更新日志比单个表容易。 

  4.1 恢复整个数据库 

  首先,如果你想恢复的数据库是包含授权表的mysql数据库,你需要用--skip-grant-table选项运行服务器。否则,它会抱怨不能找到授权

表。在你已经恢复表后,执行mysqladmin flush-privileges告诉服务器装载授权标并使用它们。 

  将数据库目录内容拷贝到其它某个地方,如果你在以后需要它们。
 
  用最新的备份文件重装数据库。如果你用mysqldump产生的文件,将它作为mysql的输入。如果你用直接从数据库拷贝来的文件,将它们直

接拷回数据库目录,然而,此时你需要在拷贝文件之前关闭数据库,然后重启它。 

  使用更新日志重复做备份以后的修改数据库表的查询。对于任何可适用的更新日志,将它们作为mysql的输入。指定--one-database选项使

得mysql只执行你有兴趣恢复的数据库的查询。如果你知道你需要运用所有更新日志文件,你可以在包含日志的目录下使用这条命令: 

  % ls -t -r -1 update.[0-9]* | xargs cat | mysql --one-database db_name 

  ls命令生成更新日志文件的一个单列列表,根据服务器产生它们的次序排序(主意:如果你修改任何一个文件,你将改变排序次序,这导

致更新日志一错误的次序被运用。) 

  很可能你会是运用某几个更新日志。例如,自从你备份以来产生的更新日志被命名为update.392、update.393等等,你可以这样重新运行

: 

  %mysql --one-database db_name < update.392 
  %mysql --one-database db_name < update.393 
  ..... 

  如果你正在实施恢复且使用更新日志恢复由于一个错误建议的DROP DATABASE、DROP TABLE或DELETE语句造成丢失的信息,在运用更新日志

之前,要保证从其中删除这些语句。 

  4.2 恢复单个表

  恢复单个表较为复杂。如果你用一个由mysqldump生成的备份文件,并且它不包含你感兴趣的表的数据,你需要从相关行中提取它们并将它

们用作mysql的输入。这是容易的部分。难的部分是从只运用于该表的更新日志中拉出片断。你会发觉mysql_find_rows实用程序对此很有帮助

,它从更新日志中提取多行查询。
 
  另一个可能性是使用另一台服务器恢复整个数据库,然后拷贝你想要的表文件到原数据库中。这可能真的很容易!当你将文件拷回数据库

目录时,要确保原数据库的服务器关闭。

本新闻共4页,当前在第4页  1  2  3  4  


上一篇:初学FreeBSD您必須知道的事
下一篇:没有了

  北京总部: 4006-505-808
  上 海 部: 021-58358765
  深 圳 部: 0755-83692929
  浙 江 部: 13666673722
  其它地区: 4006-505-808

经典案例
藁城市东街百货-EFS文件解密成
中央电视台新闻评论部-苹果分
promise乔鼎硬盘阵列数据恢复成
麒麟童文化-苹果分区无法打开,
NAS 8100服务器数据恢复成功 
Liteon-重建一组RAID时,不小
濮阳市地方税务局-CHKDSK后数据
北京市海淀区华夏心理培训学校
台湾HD公司-FreeBSD Nas无法启
NCR公司-硬盘数据恢复成功 
解决方案
硬盘出现异响应急处理
raid磁盘阵列OFFLINE后的应急方
磁盘未被格式化,是否格式化数据
误GHOST、误一键恢复灾难应急方
误删除、误格式化数据灾难应急
LINUX FSCK数据出错灾难应急方
北亚数据恢复 - 联系我们 - 关于北亚 - 友情链接 - 网站地图 - RSS聚合 
版权所有 北京北亚数据恢复中心
24小时免费咨询电话:4006-505-808 或 800-810-580
公司地址:北京市海淀区中关村大街11号E世界A座8层832B室