可以使用MySQL的事件(event)来实现定时同步两个不同连接数据库中的一张表。

首先需要在两个数据库中都创建一个相同的表,例如表名为table_name

然后在需要进行同步的数据库中创建一个事件,如下所示:

CREATE EVENT sync_table_name
ON SCHEDULE EVERY 1 HOUR
DO
BEGIN
  -- 连接第二个数据库
  USE database_name_2;
  -- 删除第二个数据库中的旧数据
  DELETE FROM table_name;
  -- 查询第一个数据库中的数据并插入到第二个数据库中
  INSERT INTO table_name SELECT * FROM database_name_1.table_name;
END;

上述事件表示每小时执行一次,连接第二个数据库并删除其中的旧数据,然后查询第一个数据库中的数据并插入到第二个数据库中的table_name表中。

需要注意的是,在两个不同的数据库中连接的方式可能不同,需要根据实际情况进行修改。

另外,需要将MySQL的事件调度器(event scheduler)打开,使用以下命令打开:

SET GLOBAL event_scheduler = ON;

如果不想打开全局事件调度器,也可以在创建事件时加上DEFINER选项,如下所示:

CREATE DEFINER = 'root'@'localhost' EVENT sync_table_name
ON SCHEDULE EVERY 1 HOUR
...

上述定义了事件的DEFINER为root@localhost,即只有root用户登录到localhost才能执行该事件

mysql定时同步两个不同连接数据库其中一张表

原文地址: https://www.cveoy.top/t/topic/g9oZ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录