当前位置:七道奇文章资讯数据防范MySQL防范
日期:2011-05-02 15:44:00  来源:本站整理

MySQL数据库备份(4)[MySQL防范]

赞助商链接



  本文“MySQL数据库备份(4)[MySQL防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
4 用备份恢复数据

  数据库破坏的发生有很多缘由,程度也差别.假如你走运,你大概仅破坏一两个表(如掉电),假如你倒运,你大概必须替换整个数据目录(如磁盘破坏).在某些情形下也需求恢复,比方用户错误地删除了数据库或表.不管这些倒运事件的缘由,你将需求实施某种恢复.

  假如表破坏但没丧失,尝试用myisamchk或isamchk修复它们,假如这样的破坏可有修复程序修复,你大概根本不需求利用备份文件.关于表修复的历程,见《数据库保护与修复》.

  恢复历程触及两种信息源:你的备份文件和个更新日记.备份文件将表恢复到实施备份时的状况,但是普通表在备份与发生问题之间的时间内已经被改正,更新日记包含了用于举行这些改正的查询.你可以利用日记文件作为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实用程序对此很有帮忙,它从更新日记中提取多行查询.

  另一个大概性是利用另一台服务器恢复整个数据库,然后拷贝你想要的表文件到原数据库中.这大概真的很简单!当你将文件拷回数据库目录时,要确保原数据库的服务器关闭.   以上是“MySQL数据库备份(4)[MySQL防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • Windows 搭配 IIS7 PHP MySQL 环境
  • mysql Out of memory (Needed 16777224 bytes)的错误办理
  • mysql提醒[Warning] Invalid (old?) table or database name问题的办理办法
  • mysql启用skip-name-resolve情势时呈现Warning的处理办法
  • mysql启用skip-name-resolve情势时呈现Warning的处理办法
  • MySQL Order By语法介绍
  • <b>MySQL ORDER BY 的实现解析</b>
  • mysql数据库插入速度和读取速度的调整记录
  • MySQL Order By索引优化办法
  • MySQL Order By用法分享
  • mysql #1062 –Duplicate entry ''1'' for key ''PRIMARY''
  • MySQL Order By Rand()效率解析
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .