使用压缩进行MySQl备份的最佳方法是什么?另外,如何将其转储到特定目录,例如C:\ targetdir
答案 0 :(得分:2)
mysqldump
命令将输出足以重新创建整个数据库的CREATE TABLE和INSERT命令。您可以使用此命令备份单个表或数据库。
您可以轻松压缩此内容。如果您希望它按原样进行压缩,则需要某种流式传输工具用于命令行。在UNIX上,它将是mysqldump ... | gzip
。在Windows上,您必须找到一个适用于管道的工具。
我认为这就是你要找的。 strong>我会列出其他选项只是因为。
FLUSH TABLES WITH READ LOCK
会将所有数据刷新到磁盘,并锁定它们,以免更改在复制数据文件夹时可以执行的操作。
请记住,在进行恢复时,如果要保留MySQL bin日志的全部功能,则不希望通过直接触摸文件来恢复数据库的某些部分。最佳选择是使用已恢复文件的备用数据目录并从那里转储,然后使用常规mysql连接通道将其提供给生产数据库。 binlogs不会记录对文件系统的任何直接更改。
如果使用文件还原整个数据库,则可以。如果你要佩戴,就行不知道。
mysqldump
没有此问题
复制将允许您备份到在相同或不同计算机上运行的另一个MySQL实例。
binlogs。给定数据库的静态副本,您可以使用它们及时向前移动它。 binlogs是所有更改数据的命令的日志。如果你有binlogs回到第一天,那么你可能已经拥有了你想要的东西。您可以从第二天到您希望的任何日期运行binlog中的所有命令,然后从该日期获得数据库的副本。
答案 1 :(得分:1)
我建议您查看Percona XtraBackup。它是MySQL的付费企业备份工具的GPL许可替代品,即使在写入数据库时也可以从数据库创建一致的非阻塞备份。有关为什么要在mysqldump上使用它的更多信息,请参阅this article。
答案 2 :(得分:0)
您可以使用像AutoMySQLBackup这样的脚本,它每天自动执行备份,保持每日,每周和每月备份,使备份目录保持干净整洁,同时仍然为您提供长时间的备份历史记录。
备份也会自然压缩。