当 pt-online-schema-change、pt-table-sync、xtrabackup 不起作用时,修复不同步的 mysql 从属的最佳方法是什么?

当 pt-online-schema-change、pt-table-sync、xtrabackup 不起作用时,修复不同步的 mysql 从属的最佳方法是什么?

我们都知道,mysql master 向slave同步数据有好几种方法,看了很多博客讲这个问题,最后总会提到两种常用的工具:

  • pt-在线-架构更改
  • pt-表同步
  • 备份

就我而言,我无法使用它们,因为:

  • pt-online-schema-change(仅适用于没有任何触发器的表)
  • pt-table-sync(仅适用于 master 的 binglog 日志格式不是排)
  • xtrabackup(仅适用于整个服务器,我需要同步单个数据库)

因此,如果我不使用这些工具的理由没有错误的话,我正在寻找最佳解决方案,在将所有数据从主服务器同步到从服务器时,减少或消除停机时间。

也许简单mysqldump就是最好的解决方案,也许不是。

答案1

pt-table-sync(仅当主服务器的 binglog 日志格式不是 ROW 时才有效)

不完全正确。如果 pt-table-sync 的格式与 STATEMENT 不同,它将在其会话中设置 binlog 格式

xtrabackup(仅适用于整个服务器,我需要同步单个数据库)

如果XtraBackupinnodb_file_per_table可以ON备份/恢复单个表/数据库

相关内容