在我的系统中,我们会采取行动,为了报告,我们会将该操作记录在另一台服务器上(如果感兴趣,可以使用星型模式)。 显然,我需要动作更新/插入与日志记录在同一个事务中 那么,有没有办法在同一个交易中将两个不同的sqls包含到两个不同的服务器中? 现在我在代码级别(php)
管理它答案 0 :(得分:0)
答案 1 :(得分:0)
单独使用MySQL是不可能的。虽然MySQL确实有Federated Storage Engine(即:远程访问其他MySQL服务器),但它不支持事务。这意味着您无法通过MySQL直接协调多服务器事务。 MySQL支持XA for InnoDB tables,因此您可以使用MySQL的外部事务管理器,但PHP不支持XA。通常,这被视为企业级功能,您可以使用Java或C#/.NET来实现。
答案 2 :(得分:0)
复杂的方式是:
如果您希望日志表不是很大,您可以这样做: