3

有没有办法监听 MySQL/MariaDB 中的数据库更改,就像你可以跟踪 MongoDB oplog 一样?我很难在网上找到这方面的信息。也许它只在 Postgres 中可用,而在 MySQL 中不可用。

4

3 回答 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 回答