WEB开发网
开发学院数据库MySQL MySQL数据备份 阅读

MySQL数据备份

 2007-02-13 10:52:05 来源:WEB开发网   
核心提示: 将数据库目录内容拷贝到其它某个地方,如果你在以后需要它们,MySQL数据备份(7),用最新的备份文件重装数据库,如果你用 mysqldump 产生的文件,然后拷贝你想要的表文件到原数据库中,这可能真的很容易!当你将文件拷回数据库目录时,将它作为 mysql 的输入,如果你用直接从数据库拷贝

将数据库目录内容拷贝到其它某个地方,如果你在以后需要它们。

用最新的备份文件重装数据库。如果你用 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 实用程序对此很有帮助,它从更新日志中提取多行查询。

另一个可能性是使用另一台服务器恢复整个数据库,然后拷贝你想要的表文件到原数据库中。这可能真的很容易!当你将文件拷回数据库目录时,要确保原数据库的服务器关闭。

上一页  2 3 4 5 6 7 

Tags:MySQL 数据备份

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接