有没有办法监听 MySQL/MariaDB 中的数据库更改,就像你可以跟踪 MongoDB oplog 一样?我很难在网上找到这方面的信息。也许它只在 Postgres 中可用,而在 MySQL 中不可用。
问问题
820 次
3 回答
4
方案A:开启“通用日志”。所有查询都将写入该日志。确保很快将其关闭;否则磁盘将填满。
B计划:开启binlog。这包含所有“写入”。有一个程序可以显示该日志的内容。
于 2016-02-02T01:56:34.527 回答
2
您可以使用该mysqlbinlog
实用程序来跟踪二进制日志。要远程跟踪服务器以进行更改,请使用以下命令。
mysqlbinlog -R -t --stop-never -h <hostname> -u <user> -p <binlog file name>
要获取 binlog 文件名,SHOW MASTER STATUS
请在您正在跟踪的服务器上执行。如果要解码行事件,请添加-v --base64-output=decode-rows
标志。
mysqlbinlog
要求启用二进制日志。它可以通过添加log-bin
到配置文件来启用。可以通过将文件名作为值添加到log-bin
或使用来控制文件名log-bin-basename
。例如,log-bin=my-binlog
将生成my-binlog.000001
.
于 2018-06-29T20:45:38.827 回答
1
对于我的项目,我使用 InfluxDB 来监控事物并在 Grafana 上绘制它们。general_log 是一个不错的选择,但您的空间会因此而被浪费。
这是一个可以帮助您的链接:https ://dzone.com/articles/mysql-monitoring-with-telegraf-influxdb-amp-grafan
于 2018-07-04T03:41:46.463 回答