创建一个触发器,在 mysql 中通过 ssh 执行 sql 语句

creating a trigger that executes sql statement over ssh in mysql

我有 2 个(th 和 ct)服务器,每个服务器都有自己的数据库,我想同步 table(et) in th 和 ct 我想如果在 table 中完成新的插入,那么触发器将触发到 ct 服务器的 ssh 连接并插入新行我认为脚本应该如下所示,但我无法弄清楚语法

 DROP TRIGGER IF EXISTS et-sync
CREATE TRIGGER et-sync AFTER INSERT ON th.et
FOR EACH ROW BEGIN
 ssh user@11.11.2.11 "mysql -uroot -ppassword -e \"INSERT  db_testplus.user SET t = NEW.t;""
END;

我应该使用这个还是只使用 Percona Toolkit for MySQL (pt-table-sync) 因为我不认为添加一个工具来控制这种规模的数据库同步是值得的(增加了复杂性)

我知道添加副本是最好的解决方案,但考虑到当前的系统设计,我考虑将 ct 数据库的重新设计推迟一段时间,因为从头开始制作它需要一些时间,而且它是业务

有什么建议吗??

出于安全原因,MySQL 不允许从其内部启动进程。

通常,另一种选择是做一个 cron 工作来协调行动,根据需要进入数据库进行沟通和协调。