我们可以为特定 table 启用 mysql 二进制日志记录吗
Can we enable mysql binary logging for a specific table
我想编写一个侦听器来检测 table 上的 DML 更改并执行一些操作。该监听器不能嵌入到应用程序中,它单独运行。
我想让应用程序写入黑洞 table,然后我会检测二进制日志文件中的更改。
但在文档中我发现启用二进制日志记录会略微降低 mysql 性能。这就是为什么我想知道有没有办法让 mysql master 记录与特定 table.
相关的更改
谢谢!
SQL 是跟踪 DML 更改并基于此调用函数的最佳方式。但是,如果您想探索其他选项,您可以尝试
使用 General Query Log 编写一个 cronjob,其中包括 SELECT / SHOW 语句,您不需要这些语句
mysqlbinlog
: 它会稍微降低性能,但是对于时间点数据恢复和复制来说是必要的。
建议:
- 在生产环境中,必须启用 MySQL 二进制日志。和一般
查询日志必须被禁用,因为一般查询记录几乎所有内容
并且很快就会被填满,如果没有,可能 运行 磁盘 space
正确旋转。
- 在 dev/qa 环境中,可以通过适当的方式启用通用查询日志
轮换政策。
我想编写一个侦听器来检测 table 上的 DML 更改并执行一些操作。该监听器不能嵌入到应用程序中,它单独运行。
我想让应用程序写入黑洞 table,然后我会检测二进制日志文件中的更改。
但在文档中我发现启用二进制日志记录会略微降低 mysql 性能。这就是为什么我想知道有没有办法让 mysql master 记录与特定 table.
相关的更改谢谢!
SQL 是跟踪 DML 更改并基于此调用函数的最佳方式。但是,如果您想探索其他选项,您可以尝试
使用 General Query Log 编写一个 cronjob,其中包括 SELECT / SHOW 语句,您不需要这些语句
mysqlbinlog
: 它会稍微降低性能,但是对于时间点数据恢复和复制来说是必要的。
建议:
- 在生产环境中,必须启用 MySQL 二进制日志。和一般 查询日志必须被禁用,因为一般查询记录几乎所有内容 并且很快就会被填满,如果没有,可能 运行 磁盘 space 正确旋转。
- 在 dev/qa 环境中,可以通过适当的方式启用通用查询日志 轮换政策。