Предположим, у меня есть две базы данных «db1» и «db2» на разных серверах mysql «A» и «B» соответственно.
Я хочу проверять каждые 6 часов, если в 'db2' есть какое-либо обновление, найденное в 'table1', после чего 'table1' в 'db1' будет автоматически обновляться.
Как я могу это сделать с помощью триггера или задания cron? и когда он будет уволен?
Вы могли бы сделать это с помощью задания cron, просто могли бы запускать php-файл каждую минуту.
этот файл может проверить новую строку в таблице1 в db2 (сохранение текущего количества строк в текстовом файле для сравнения, а если новый счетчик> старый счетчик, то это может затем обновить таблицу1 в db1.
легко
но репликация mysql, как сказал @Charles в комментарии, будет лучше.
Я принял ответ kutF и после запуска этой программы. Используя ключевое слово CASCADE в создании таблицы в mysql. Поэтому, если вы обновляете родительскую таблицу, тогда также обновляется дочерняя таблица
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;