有没有办法在MySQL / MariaDB中监听数据库更改,就像拖尾MongoDB oplog一样?我无法在线查找此信息。也许它只适用于Postgres,而不适用于MySQL。
答案 0 :(得分:4)
计划A:打开"常规日志"。所有查询都将写入该日志。一定要很快关掉它;否则磁盘将填满。
计划B:打开binlog。这包含所有"写入"。有一个程序可以显示该日志的内容。
答案 1 :(得分:2)
您可以使用mysqlbinlog
实用程序尾随the binary log。要远程跟踪服务器以进行更改,请使用以下命令。
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
。
答案 2 :(得分:1)
对于我的项目,我使用InfluxDB监视事物并将其绘制在Grafana上。 general_log是一个不错的选择,但由于这样会浪费您的空间。
以下链接可为您提供帮助:https://dzone.com/articles/mysql-monitoring-with-telegraf-influxdb-amp-grafan