首先,如果要恢复的数据库是含有授权表的mysql数据库,将需要使用- - s k i p - g r a n t - tables选项运行服务器。否则,服务器将抱怨无法找到授权表。在恢复表之后,执行mysqla d m i n flush-privileges 来告诉服务器加载授权表,并用它们启动。 将原数据库目录的内容拷贝到其他的地方。例如,您可能会在稍后用它们进行崩溃表的事后分析检查(post-mortem examination)。 用最新的备份文件重新加载数据库。如果您打算使用由mysqldump 加载的文件,则需要将它们作为mysql的输入。如果打算使用从数据库中直接拷贝的文件(如,用tar 或c p),则将它们直接拷贝回到该数据库目录中。但是,在这种情况下,应该在拷贝这些文件之前关闭服务器,然后再重新启动它。 用更新日志重做在进行备份后又修改了数据库表的查询。对于所有可用的更新日志,可使用它作为mysql的输入。指定--one-database 选项,使mysql只对想要恢复的数据库执行查询。如果您知道需要使用所有的更新日志文件,可在包含日志的目录中使用 下列命令: % ls -t -r -l update.(0-9)* | xargs cat | mysql--one-database db_name ls 命令产生更新日志文件的单列列表,更新日志文件根据服务器生成的顺序进行排序(要知道,如果您修改了其中的任何文件,排序的顺序都将改变,这将导致更新日志按错误的顺序使用)。 您很可能必须使用某些更新日志。例如,如果自备份以来所产生的日志命名为up date . 3 9 2、update.393 等等,可以重新运行它们中的命令: % mysql--one-database db_name < updata.392 % mysql--one-database db_name < updata.393 。。。 如果正在运行恢复并打算使用更新日志恢复由于失策的DROP DATA B A S E、D R O P TABLE 或DELETE 语句而丢失的信息,应确保先从更新日志中删除这些语句。