【问题标题】:Tailing MariaDB database changes like tailing the MongoDB oplog跟踪 MariaDB 数据库更改,例如跟踪 MongoDB oplog
【发布时间】:2016-05-10 15:44:35
【问题描述】:

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

【问题讨论】:

    标签: mariadb mariasql


    【解决方案1】:

    方案A:开启“通用日志”。所有查询都将写入该日志。确保很快将其关闭;否则磁盘将被填满。

    Plan B:开启 binlog。这包含所有“写入”。有一个程序可以显示该日志的内容。

    【讨论】:

    • 你有推荐的方式来拖尾 bin 日志吗?
    • 也许可以使用mysqldumpbinlog(或其他任何名称),但我认为您不能在“拖尾”设置中使用它。您需要该程序来解析文件。但是,它可以从任何给定的偏移量开始,并且偏移量包含在日志中。
    【解决方案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

    【讨论】:

      【解决方案3】:

      对于我的项目,我使用 InfluxDB 来监控事物并在 Grafana 上绘制它们。 general_log 是一个不错的选择,但您的空间会因此而浪费。

      这里有一个链接可以帮助你:https://dzone.com/articles/mysql-monitoring-with-telegraf-influxdb-amp-grafan

      【讨论】:

        猜你喜欢
        • 2013-11-15
        • 2021-09-28
        • 1970-01-01
        • 1970-01-01
        • 2021-05-16
        • 2011-08-15
        • 1970-01-01
        • 2011-08-09
        • 1970-01-01
        相关资源
        最近更新 更多