Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
跟踪MariaDB数据库更改,如跟踪MongoDB oplog_Mariadb_Mariasql - Fatal编程技术网

跟踪MariaDB数据库更改,如跟踪MongoDB oplog

跟踪MariaDB数据库更改,如跟踪MongoDB oplog,mariadb,mariasql,Mariadb,Mariasql,有没有一种方法可以监听MySQL/MariaDB中的数据库更改,就像跟踪MongoDB oplog一样?我在网上找不到这方面的信息。也许它只在Postgres中可用,而在MySQL中不可用。计划A:打开“常规日志”。所有查询都将写入该日志。一定要很快关掉它;否则磁盘将被填满 方案B:打开binlog。包含所有“写入”。有一个程序可以显示该日志的内容。您可以使用该实用程序跟踪日志。要远程跟踪服务器的更改,请使用以下命令 mysqlbinlog -R -t --stop-never -h <h

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

计划A:打开“常规日志”。所有查询都将写入该日志。一定要很快关掉它;否则磁盘将被填满

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

您可以使用该实用程序跟踪日志。要远程跟踪服务器的更改,请使用以下命令

mysqlbinlog -R -t --stop-never -h <hostname> -u <user> -p  <binlog file name>
mysqlbinlog-R-t--stop never-h-u-p
要获取binlog文件名,请在跟踪的服务器上执行
SHOW MASTER STATUS
。如果要解码行事件,请添加
-v--base64 output=decode rows
标志


要求启用二进制日志。可以通过添加到配置文件来启用它。可以通过将文件名作为值添加到或使用来控制文件名。例如,
log-bin=my-binlog
将生成
my-binlog.000001
对于我的项目,我使用InfluxDB来监视事物并在Grafana上绘制它们。常规日志是一个不错的选择,但是您的空间会因此而浪费


这里有一个链接可以帮助您解决问题:

您是否有一种跟踪bin日志的推荐方法?也许可以使用
mysqldumpbinlog
(或任何名称),但我认为您不能在“跟踪”设置中使用它。你需要那个程序来解析文件。但是,它可以从任何给定的偏移量开始,并且偏移量包含在日志中。