我们可以为特定表启用mysql二进制日志记录

时间:2015-03-25 21:06:43

标签: mysql mysqlbinlog

我想编写一个侦听器来检测表上的DML更改并执行一些操作。此侦听器无法嵌入到应用程序中,而是单独运行。

我想让应用程序写入黑洞表,我将检测二进制日志文件中的更改。

但在文档中我发现启用二进制日志会略微降低mysql的性能。这就是为什么我想知道有没有办法让mysql master记录与特定表相关的更改。

谢谢!

1 个答案:

答案 0 :(得分:1)

SQL是跟踪DML更改和调用函数的最佳方法。但是,如果您想探索其他选项,可以尝试

  1. General Query Log写一个包含SELECT / SHOW语句的cronjob,你也不需要

  2. mysqlbinlog:它会稍微降低性能,但对于时间点数据恢复和复制来说是必要的。

  3. <强>建议:

    • 在prod环境中,必须启用MySQL二进制日志。和一般 必须禁用查询日志,因为通用查询几乎记录了所有内容 并且很快就会被填满,如果没有,可能会耗尽磁盘空间 正确旋转。
    • 在dev / qa环境中,可以正确启用常规查询日志 轮换政策。