1

使用 MYSQL,我想在每个数据处立即将服务器 A 上的 general_log 表中的数据记录到服务器 B 上的表中,并在一天结束时从服务器 A 中删除数据。我尝试为此使用触发器,但 general_log 不允许我编写触发器,因为它会看到系统文件。或者,当我使用 Fedareted 表时,当我删除服务器 A 上的数据时,服务器 B 上的数据也会被删除。在此先感谢您的帮助。

4

2 回答 2

0

我建议开发一个 ETL 作业来每天移动数据并从旧服务器中删除它

于 2021-03-22T13:38:36.333 回答
0

我会推荐以下策略:

首先,general_log按日期对数据进行分区。您可以在文档中了解表分区。

其次,设置复制,以便服务器 B 实时识别到服务器 A。再次,您可能需要参考文档

第三,设置一个作业,在午夜过后不久从 A 中删除之前的分区。

老实说,如果您不了解表分区和复制,则应该让 DBA 参与其中。事实上,如果您尝试协调多个数据库服务器,则应该让 DBA 参与进来,他会理解这些概念以及如何在您的环境中最好地实现它们。

于 2021-03-22T13:48:27.633 回答