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

在mysql中创建通过ssh执行sql语句的触发器,mysql,database-design,ssh,percona,Mysql,Database Design,Ssh,Percona,我有2台(th和ct)服务器,每台服务器都有自己的数据库,我想在th和ct中同步一个表(et) 我想,如果在表th中进行了新的插入,触发器将触发到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 -ppas

我有2台(th和ct)服务器,每台服务器都有自己的数据库,我想在th和ct中同步一个表(et) 我想,如果在表th中进行了新的插入,触发器将触发到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;
我应该使用这个还是只使用PerconaToolkitforMySQL (pt table sync)因为我不认为添加一个工具来控制如此规模的数据库同步是值得的(增加了复杂性)

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


有什么建议吗

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


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

对我来说似乎不是个好主意。如果远程设备关闭或网络出现故障,会发生什么情况?同步丢失?那有多糟糕?此外,明文密码是一种气味。它们必须同步到多紧密?这有多重要?数据库有多大?ct大约有一半GB,大约+100 MB。。ct是一个实时考试服务器,用于购买考试密钥和查看考试结果报告。你有什么建议吗?我建议你把它带到专业的服务器和网络管理堆栈交换网站。好的,非常感谢:)嗯,我认为最好遵循MySQL的模式,不要用触发器重新发明轮子,只使用(谢谢:)