mysql热备如何保证数据的完整性

发布于 2021-11-27 23:55:10 字数 52 浏览 989 评论 6

我希望在热备的情况下,我导下来的数据是事务完整的。

有好的实现吗?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

千纸鹤带着心事 2021-11-29 20:07:45

这个不知道怎么说,我们有段时间需要备份线上财务数据进行线下核对就使用了该选项,然而核对结果却有误差,重新备份一次核对又没问题,所有表都是innodb,并且财务操作都是事务操作。

陌上芳菲 2021-11-29 20:00:22

如果要确保事务的完整性(ACID),在使用 mysqldump 进行备份时可以添加  --single-transaction 选项,

  --single-transaction
                      Creates a consistent snapshot by dumping all tables in a
                      single transaction. Works ONLY for tables stored in
                      storage engines which support multiversioning (currently
                      only InnoDB does); the dump is NOT guaranteed to be
                      consistent for other storage engines. While a
                      --single-transaction dump is in process, to ensure a
                      valid dump file (correct table contents and binary log
                      position), no other connection should use the following
                      statements: ALTER TABLE, DROP TABLE, RENAME TABLE,
                      TRUNCATE TABLE, as consistent snapshot is not isolated
                      from them. Option automatically turns off --lock-tables.

http://dev.mysql.com/doc/refman/5.6/en/mysqldump.html#option_mysqldump_single-transaction

使用--single-transaction选项进行备份时,且事务分离级别设定为“REPEATABLE READ”时,
MySQL支持InnoDB表同时写入,但由此会消耗一部分系统资源,因此备份时间会比不使用该选项的时间长。
如果要使用该选项,建议备份时间安排在相对空闲的时间段。

另外需要注意的是只有InnoDB和NDB存储引擎支持事务。

拥有 2021-11-29 16:44:44

能细说吗,我对这方面不是很熟悉

永不分离 2021-11-29 15:27:03

你说的双机热备,该是线上数据的热备份?

凡尘雨 2021-11-29 12:30:49

回复
线上数据热备。

陌上芳菲 2021-11-29 00:07:07

看看双主配置

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文