问题标签 [mysqlbinlog]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1742 浏览

mysql - 使用zongji模块监听mysql更改事件不起作用

我正在尝试使用 mysql-event 模块在我的应用程序中监听 mysql 更改事件。为此我知道了,我需要确定宗记模块是否工作正常。

所以这是我到目前为止所尝试的:

--我的服务器.js

(示例来自https://github.com/nevill/zongji/blob/master/example.js

我已经完美地为 mysql 配置了 binlog,它也在创建日志。

但是对于我的节点应用程序中的任何更改事件,我无法为上述控制台记录任何内容。

当我打开 debug=true 选项时,我可以看到对于数据库日志中的每次更改,我都会得到以下调试日志:

所以,这意味着我的应用程序能够成功地联系到 mysql 的 binlog,但是我怎么知道哪一行发生了变化或者发生了什么变化?因为 zongzi.on('binlog', [Function]) 没有打印任何东西。

0 投票
1 回答
2640 浏览

mysql - 在 Windows 上使用二进制日志文件 (log-bin) 恢复 mysql 数据库

使用二进制日志文件恢复mysql数据库非常有用,尤其是在误操作时。以下是我在 Windows 上执行此操作的方法。如果这个问题对您有帮助,请将其标记为“有用”,谢谢。

0 投票
2 回答
1036 浏览

mysql - 如何使用 Windows 服务从主数据库自动重新同步从数据库?

我正在编写一个 Windows 服务程序来不断地从主数据库同步本地从数据库。我有一个名为nsbm_syncdb. 如果我想同步从数据库,我必须编写以下查询。

对于上面的代码,我应该通过输入查询来获取 Master 数据库MASTER_LOG_FILE的值。MASTER_LOG_POS"SHOW MASTER STATUS"

如何使用 MySql 查询从 Master 数据库中检索日志位置和日志文件名?

我浏览了互联网,但还没有找到查询。

0 投票
1 回答
380 浏览

jdbc - StreamSets JDBC Producer CDC - 更改日志格式错误编辑

我的管道背后的想法是反映从 MySQL 到 PostgreSQL 数据库的变化。将来我还会有一个 Oracle 到 PostgreSQL 的复制。

因此,从这个论坛和 SDC 文档中,我看到正确的做法是使用 CDC 起源。所以我使用的是 MySQL 二进制日志。我能够构建一个处理 3 个 CRUD 操作(INSERT、DELETE、UPDATE)的管道,但它使用了多个处理器(字段移除器、扁平化器、流选择器、字段重命名器等):

SDC 管道 - CRUD 操作

从我在 JDBC Producer 的配置中看到的,这个目的地应该能够直接从从 MySQL 二进制日志源读取的流中处理 MySQL 二进制日志,对吧?只需将 JDBC Producer 中的 Change Log Format 设置为 MySQL Binary Log:

SDC 管道 - MySQL 二进制日志选项

但即使我这样做了,管道运行没有错误,但 PostgreSQL 目标中的数据没有更改。

我错过了什么吗?是否有必要在将来自 MySQL 二进制日志源的流发送到 JDBC Producer 之前对其进行处理?如果是这样,必须做什么?

0 投票
0 回答
27 浏览

c++ - 如何使用 mysql++ 或其他库检索列?

首先,我是 C++ 新手;现在,我正在尝试编写一个项目来监听任何数据库更改MySQL binlog并做一些事情。我选择了一个名为mysql-binlog-repliation的库,按照它的示例代码,现在我可以跟踪事件MySQL binlog,检索旧值和新值。但是,我无法检索列,我想知道如何检索列和值,感谢任何有用的答案!

以下是我的部分代码:

0 投票
1 回答
113 浏览

python - Binlog 有事件但没有行?

我正在处理一个项目,我需要查看 binlog 事件、迭代器行并做一些事情。在我的本地环境中,我测试了我的代码并且一切正常,我可以在每个事件中获取事件和行。但是,在转移到生产环境之后-环境并连接到另一个数据库,我只能获得宾果游戏事件,但任何事件都没有行。我用过python-mysql-replication,我转储了我收到的所有二进制日志事件,每个事件都如下所示:

如您所见,更改的行数为 0,值为空!

0 投票
0 回答
911 浏览

java - mysql-binlog-connector-java - 在二进制日志索引文件中找不到第一个日志文件名

我正在这个库上做一个 POC,我在设置它时遇到了一些困难。我有一个非常简单的 MySQL 设置: - 单个 VM(无主从) - centos 7 - MySQL 版本 5.7

这是我到目前为止的代码:

运行此代码时,我得到以下输出:

OnCommunicationFailure() com.github.shyiko.mysql.binlog.network.ServerException: 在 com.github.shyiko.mysql.binlog.BinaryLogClient.listenForEventPackets(BinaryLogClient.java:882) 的二进制日志索引文件中找不到第一个日志文件名在 com.github.shyiko.mysql.binlog.BinaryLogClient.connect(BinaryLogClient.java:559) 在 Main.main(Main.java:40)

我的 MySQL 配置文件内容:

[mysqld]

datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock

符号链接=0

日志错误=/var/log/mysql/mysqld.log

server_id=1

log-bin=/var/log/mysql/mysql-bin

pid-file=/var/run/mysqld/mysqld.pid

绑定地址= . .

我的日志目录内容如下:

mysql-bin.index 的内容当然是:

此问题的所有在线解决方案均指主从配置,并且相应的解决方案 - 帮助任何人?:)

0 投票
0 回答
35 浏览

mysql - 如何在 Mysql 的 binlog 中只记录特殊用户的操作

我想执行特定用户对mysql到镜像数据库的修改,经过搜索引擎研究,我知道我可以打开通用日志配置,并选择特定用户产生的ID,并将它们映射到binlog 并获取我们需要的 sql,但这有点复杂。

我可以只记录特定用户生成的sql吗?如果是的话,事情会变得容易得多。

0 投票
0 回答
229 浏览

mysql - mysql转储文件和binlog不一致

我正在尝试对我们的生产数据库进行时间点恢复,但是在恢复转储后读取二进制日志时,我得到ERROR 1062 (23000) at line x in file: 'binlogs_file.sql': Duplicate entry 'y' for key 'PRIMARY'. 我已经仔细检查过,似乎二进制日志中的插入语句已经存在于转储文件中,因此也存在于新恢复的测试数据库中。

这是我每天早上在生产服务器上运行的 mysqldump 语句:

我将最新的转储复制到测试服务器(这是我们生产服务器的快照,只有三周大)。恢复测试数据库后,我使用以下命令检索要从哪个 binlog 文件开始:

并返回:

mysql-bin.006502从生产服务器复制该文件以及所有后续的 binlog 文件,并从中创建一个 .sql 文件(注意该位置是多余的,这--flush-logs是 mysqldump 语句的一部分)

下一步是针对数据库运行 binlogs_file.sql。

然后出现错误:

我们在生产服务器和测试服务器(都是 Debian 8.10)上运行 MySql 5.7.19。这些是生产服务器上的 binlog 相关变量:

我究竟做错了什么?为什么不一致?

0 投票
1 回答
593 浏览

ubuntu-16.04 - 为 Mysql 5.6 & Ubuntu16.4 设置 binlog

在 /etc/mysql/my.cnf 中:

然后在mysql客户端上:

我用谷歌搜索“my.cnf 不生效”并得到“对 my.cnf 的更改不生效(Ubuntu 16.04,mysql 5.6)” 对 my.cnf 的更改不生效(Ubuntu 16.04,mysql 5.6)

我已经测试了两个答案。但是当我用 mysql 启动时sudo service mysql start,总​​是会出现这个错误:

我花了两天时间寻找答案,但仍然没有找到任何有用的东西。有人可以帮我吗?谢谢!