首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用.sql文件对mysql数据库进行增量备份?

如何使用.sql文件对mysql数据库进行增量备份?
EN

Stack Overflow用户
提问于 2012-07-21 15:12:51
回答 3查看 399关注 0票数 2

情境:我们的生产mysql数据库每天将转储到一个.sql文件中。我想保存一个相对最新的影子数据库。

我知道要从.sql文件创建mysql数据库,可以使用:

代码语言:javascript
复制
mysql -u USERNAME -p DATABASENAME < FILE.SQL

我们的分局用了4-5个小时。不用说,我想减少这一点,我想知道是否有一种方法可以用新的/更改的内容来更新数据库。在第二天,是否有一种方法可以使用从生产数据库中转储的新.sql文件来更新我的影子数据库?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-07-21 15:33:02

MySQL复制是可行的。

但是,在不可能使用的情况下,请使用以下过程

在所有表中设置一个修改的时间戳列,并在插入/更改行时更新该值。

使用以下mysqldump选项获取增量文件(这将使用替换命令而不是插入命令,因为现有记录将在备份数据库中更新)。

将时间戳值保存在文件系统中的某个位置。并在where条件下使用。MDFD_DATE是您需要对其进行筛选的列名。成功备份后,更新文件中存储的值。

跳过-z-utc阻止MSQL根据您的时区自动调整时间戳值。

mysqldump -数据库db1,db2 -user=db2-user=password-no-create-info-no-tablespaces

使用新的sql文件并在服务器中运行它。

限制:

如果在数据库中删除了某些记录,则此方法将无法工作。您需要从备份数据库中手动删除它们。否则,为已删除的记录保留DEL_FLAG列并将其更新为“Y”,并使用此条件删除备份数据库中的记录。

票数 1
EN

Stack Overflow用户

发布于 2012-07-21 15:19:04

这个问题可以通过mysql同步来解决。

票数 1
EN

Stack Overflow用户

发布于 2012-07-21 15:22:03

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11593319

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档