我们的主要服务是使用 MariaDB,而另一个服务是使用 Mysql,用于 ATM 机,我尝试获取所有数据并使所有交易可用。
我不知道这是否可能,因为 Mysql 和 MariaDB 不一样......
我们还会考虑将主服务器更改为 Mysql 作为替代方案。
答案1
我觉得你负责开发银行交易软件,却不知道如何自己找到答案,而且问问题的方式也错了,这让人很担心。但这更像是评论,而不是答案。
安装的相对年龄至少与一个实例是 Mariadb 而一个实例是 MySQL 的事实一样重要。
如果他们的年龄大致相同,异步复制应该可以。在这种情况下,使用 Galera 复制确实不合适。但是您需要确保这不会与任何已存在的复制发生冲突 - 如果我们谈论的是大量金融交易,您应该已经将其设置到位以确保服务的可用性。
或者你也可以直接运行
mysqldump -h hostA srcdb | mysql -h hostB destdb
....假设您没有使用特别深奥的功能(其中大部分可以用 sed 过滤器处理)。但这每次都会复制整个数据库。
然而,这两种方法都存在一些局限性,并且会严重影响您的整体安全。安全通常是银行的首要任务,而正确的解决方案取决于现有的架构和控制措施,而我们对此一无所知。
我认为最合适的策略是通过具有端到端确认的异步消息队列发送更新(即,每个事务在源中标记为已复制,然后已被提取到目标数据库)。这需要自定义代码。