是否可以使用从服务器 A(我们将其视为主服务器)生成的二进制日志文件设置 MYSQL 复制到服务器 B

Posted

技术标签:

【中文标题】是否可以使用从服务器 A(我们将其视为主服务器)生成的二进制日志文件设置 MYSQL 复制到服务器 B【英文标题】:Is it possible to setup MYSQL replication with binlog files generated from server A (which we are considering as Master) to server B 【发布时间】:2020-12-13 02:01:26 【问题描述】:

为了我们的一个项目,我们正在从 Magento 社区迁移到 Magento 云,我们需要访问我们定制开发的 CRM 的数据库。

但不幸的是,magento cloud 不支持 DB 复制,他们启用了 binlog,不支持创建复制用户和服务器 id 设置,binlog 文件可以定期同步到我们的 CRM 服务器。

现在我们想知道是否可以使用 binlog 文件来复制数据库,或者是否有任何解决方法可以做到这一点?

我们曾尝试使用隧道设置,但使用隧道设置时查询执行时间更长,这将严重影响我们的 CRM 性能。

此外,我们需要再次确认是否有任何其他可能性可以尝试访问 CRM 中的 Magento Cloud DB 而不会出现性能延迟。

提前感谢您的建议。

【问题讨论】:

【参考方案1】:

是的,这是可能的,但在您描述的设置中可能有点繁琐。您可以将二进制日志作为中继日志进行重播。看看这篇文章了解更多细节: https://lefred.be/content/howto-make-mysql-point-in-time-recovery-faster/

具体来说,这些部分是相关的(您需要适当地编辑它们):

[root@mysql1 mysql]# for i in $(ls /tmp/binlogs/*.0*) 
do  
  ext=$(echo $i | cut -d'.' -f2); 
  cp $i mysql1-relay-bin.$ext; 
done

[root@mysql1 mysql]# ls ./mysql1-relay-bin.0* >mysql1-relay-bin.index

【讨论】:

以上是关于是否可以使用从服务器 A(我们将其视为主服务器)生成的二进制日志文件设置 MYSQL 复制到服务器 B的主要内容,如果未能解决你的问题,请参考以下文章

是否有一种简单的方法可以在一个分支中创建补丁,然后将其应用于 TFS 2010 中的另一个分支?

是否可以声明一个全局变量以分发到热备用服务器?

DbContext上的ObjectDisposedException

Mongo 查询未在我的主服务器中产生结果

对数百个网站提出卷曲请求会被某些主机视为攻击吗?

是否应该使用数据库主键来识别跨微服务的实体?