假设我分别在不同的 mysql 服务器“A”和“B”上有两个数据库“db1”和“db2”。
我想每 6 小时检查一次 'db2' 中的 'table1' 是否有任何更新,然后 'db1' 中的 'table1' 将自动更新。
如何使用触发器或 cron 作业来做到这一点?什么时候会被解雇?
假设我分别在不同的 mysql 服务器“A”和“B”上有两个数据库“db1”和“db2”。
我想每 6 小时检查一次 'db2' 中的 'table1' 是否有任何更新,然后 'db1' 中的 'table1' 将自动更新。
如何使用触发器或 cron 作业来做到这一点?什么时候会被解雇?
您可以使用 cron 作业,只需每分钟运行一个 php 文件。
该文件可以检查 db2 中 table1 中的新行(将当前行数保存在文本文件中以进行比较,如果新计数 > 旧计数,则可以更新 db1 中的 table1。
简单的
但是@Charles 在评论中说的mysql复制会更好。
我接受了 kutF 的回答,并在您运行该程序后,在 mysql 的表创建中使用关键字 CASCADE。因此,如果您更新父表,则子表也会更新
CREATE TABLE parent
(
par_id INT NOT NULL,
PRIMARY KEY (par_id)
) TYPE = INNODB;
CREATE TABLE child
(
par_id INT NOT NULL,
child_id INT NOT NULL,
PRIMARY KEY (child_id),
FOREIGN KEY (par_id) REFERENCES parent (par_id) ON DELETE CASCADE
) TYPE = INNODB;