|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
而且其固有的弹性使得它易于扩展以处理不断增长的需求,或当需求MySQL学习教程减弱时缩减规模。mysql|备份|数据|数据库数据库破坏的产生有良多缘故原由,水平也分歧。假如你交运,你大概仅破坏一两个表(如失落电),假如你不利,你大概必需交换全部数据目次(如磁盘破坏)。在某些情形下也必要恢复,好比用户毛病地删除数据库或表。不论这些不利事务的缘故原由,你将必要实行某种恢复。
假如表破坏但没丧失,实验用myisamchk或isamchk修复它们,假如如许的破坏可有修复程序修复,你大概基本不必要利用备份文件。关于表修复的历程,见《数据库保护与修复》。
恢复历程触及两种信息源:你的备份文件和个更新日记。备份文件将表恢复到实行备份时的形态,但是一样平常表在备份与产生成绩之间的工夫内已被修正,更新日记包括了用于举行这些修正的查询。你可使用日记文件作为mysql的输出来反复查询。这已恰是为何要启用更新日记的缘故原由。
恢复历程视你必需恢复的信息几而分歧。实践上,恢复全部数据库比单个表跟简单,由于关于数据库使用更新日记比单个表简单。
4.1恢复全部数据库
起首,假如你想恢复的数据库是包括受权表的mysql数据库,你必要用--skip-grant-table选项运转服务器。不然,它会埋怨不克不及找到受权表。在你已恢复表后,实行mysqladminflush-privileges告知服务器装载受权标并利用它们。
将数据库目次内容拷贝到别的某个中央,假如你在今后必要它们。
用最新的备份文件重装数据库。假如你用mysqldump发生的文件,将它作为mysql的输出。假如你用间接从数据库拷贝来的文件,将它们间接拷回数据库目次,但是,此时你必要在拷贝文件之前封闭数据库,然后重启它。
利用更新日记反复做备份今后的修正数据库表的查询。关于任何可合用的更新日记,将它们作为mysql的输出。指定--one-database选项使得mysql只实行你有乐趣恢复的数据库的查询。假如你晓得你必要使用一切更新日记文件,你能够在包括日记的目次下利用这条命令:
%ls-t-r-1update.[0-9]*|xargscat|mysql--one-databasedb_name
ls命令天生更新日记文件的一个单列列表,依据服务器发生它们的序次排序(主张:假如你修正任何一个文件,你将改动排次序序,这招致更新日记一毛病的序次被使用。)
极可能你会是使用某几个更新日记。比方,自从你备份以来发生的更新日记被定名为update.392、update.393等等,你能够如许从头运转:
%mysql--one-databasedb_name<update.392
%mysql--one-databasedb_name<update.393
.....
假如你正在实行恢复且利用更新日记恢复因为一个毛病倡议的DROPDATABASE、DROPTABLE或DELETE语句形成丧失的信息,在使用更新日记之前,要包管从个中删除这些语句。
4.2恢复单个表
恢复单个表较为庞大。假如你用一个由mysqldump天生的备份文件,而且它不包括你感乐趣的表的数据,你必要从相干行中提取它们并将它们用作mysql的输出。这是简单的部分。难的部分是从只使用于该表的更新日记中拉出片段。你会觉察mysql_find_rows有用程序对此很有匡助,它从更新日记中提取多行查询。
另外一个大概性是利用另外一台服务器恢复全部数据库,然后拷贝你想要的表文件到原数据库中。这大概真的很简单!当你将文件拷回数据库目次时,要确保原数据库的服务器封闭。
”由于MySQL已经是一个运行了众多知名Web2.0网站的数据,包括Craigslist、Digg、Wikipedia和Google等,或许我们可以说每一个Web2.0公司实质上是一个使用MySQL数据库的公司。 |
|