【问题标题】:General Log Move Another Table常规日志移动另一个表
【发布时间】:2021-03-22 13:24:46
【问题描述】:

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

【问题讨论】:

  • 这个问题与编程无关,因此在 SO 上是题外话。 SO 的 DBA 姊妹站点为此类数据库管理问题提供帮助。

标签: mysql sql logging general-log


【解决方案1】:

我会推荐以下策略:

首先,按日期对general_log 中的数据进行分区。你可以在documentation了解表分区。

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

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

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

【讨论】:

  • 我可以对一张表使用复制吗?
  • @MertAyten 。 . .你需要两台服务器。表的数量相关性要小得多。
【解决方案2】:

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

【讨论】:

  • 我想在每次数据处理时都这样做,这样我认为 ETL 工作没用。 (3000 个数据/秒)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-05-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-15
相关资源
最近更新 更多