问题标签 [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 回答
1004 浏览

database - 使用 binlog_format="row" 在只读副本上启用 BinLogs

我最近通过启用自动备份在我的只读副本上启用了二进制日志(如此所述)。但是,默认 binlog_format 设置为 MIXED。

由于这种不一致,Debezium 连接器失败,因为它找到了 MIXED 格式的初始二进制日志。有没有办法从一开始就启用 ROW 格式的二进制日志?

添加错误日志:

0 投票
1 回答
345 浏览

mysql - Kafka乱码——中文单词在debezium中变成乱码

我的 debezium 代码很乱:

mysql数据库中有中文的话,我用debezium把数据发给kafka。消费消息时发现中文单词乱码,请问如何解决?有什么我可以使用的配置吗?

当我使用flume和kafka producer生成中文单词时,效果很好

部分配置:

mysql 字符集:utf8 mysql 配置图片

版本:debezium v​​0.7.5、kafka v1.1.1

添加:

当我用控制台测试它时,./kafka-console-consumer.sh --zookeeper 192.168.0.100:2181 --topic mysqlfullfillment.test.doulist 我得到了凌乱的代码

在我的 spark 代码中,我得到了相同的混乱代码:

0 投票
1 回答
514 浏览

mysql - 无法打开 CloudSQL 二进制日志:“没有这样的文件或目录”

我正在尝试查看 MySQL binlog 文件以追踪特定查询的来源。我使用 SHOW BINARY LOGS 查询来获取现有日志文件的名称,但是在尝试使用 mysqlbinlog 命令访问时,我不断收到错误消息:“找不到文件'xxxx'(错误代码:2“没有这样的文件或目录“)”。我还尝试使用完整路径 /mysql/binlog/mysql-bin/file-name 并使用双正斜杠和反斜杠访问文件,但得到了同样的错误。我尝试了几个不同的文件,都给出了相同的错误。

如果有人能解释我做错了什么,那将不胜感激。

没有这样的文件或目录错误

0 投票
1 回答
779 浏览

mysql - MySQL RDS 只读副本服务未清除 binlogs

我们在 AWS RDS 服务上有一个 MySQL (5.6.41) 的副本读取数据库,在过去 2 年中运行良好,但在过去 3 周内突然开始出现非常不同的行为:它使用空间并且通常不会将其返回. 所以我必须购买更多的存储空间才能继续运行(你可以在屏幕截图中看到 2 个峰值)。 在此处输入图像描述 正如我所看到的,问题是一些守护进程在'mysql-bin-changelog.10xxxx'之前自动调用PURGE BINARY LOGS;但是那个日志“10xxxx”没有被删除,只是留在那里。我检查了 INNODB MONITOR OUTPUT,没有长时间的活动事务,show processlist没有显示任何内容,但是 ~100% CPU 已使用 在此处输入图像描述 空间没有回收!SHOW BINARY LOGS;显示 >5200 条记录,并且这个数字还在继续增长。

我试图关闭所有传入连接,甚至关闭“事件调度程序”和复制过程。画面仍然不健康: 在此处输入图像描述 CPU 只是停留在 >50%!并且数据库中没有会话(只是rdsadmin@localhost

您能帮我解决原因以及如何恢复吗?因为现在我必须每 3-4 天购买约 50GB 的“无”。

现在回答:我们已经联系了 AWS Support(付费开发人员支持),但他们没有发现任何特别之处,并表示问题可能出在硬件方面。所以我们必须创建新的副本并将我们的自定义模式迁移到它,然后杀死有问题的副本。

0 投票
1 回答
104 浏览

mysqlbinlog - lsyncd 无法更新 mysql-bin.00001

我使用 lsyncd 和 lsyncd 将文件发送到其他服务器,.sql 文件可以,但是 mysql-bin.00001 无法更新。

lsyncd.conf

0 投票
1 回答
167 浏览

mysql - Debezium 上的参数 database.history 的确切含义是什么?

我们正在开发一个项目,使用 Debezium 将数据从读取 binlog 的数据库流式传输到消息代理。更深入地研究它,并试图更好地理解该工具,出现了两个与配置参数相关的问题:

  • 参数的确切含义是什么database.history
  • MemoryDatabaseHistory可能的值和之间有什么区别FileDatabaseHistory

谢谢!

0 投票
1 回答
491 浏览

mysql - MySQL 恢复,包括 binlog 位置 MASTER_LOG_POS

我像这样运行 MySQL 数据库转储:

这将创建一个转储文件,其中包含以下行:

这告诉我任何新的更改都记录在 mysql-bin.000008 开始

然后,我可以在加载我的转储文件后,像这样加载增量文件(假设 mysql-bin.000009 也在某个时候创建​​):

但是 MASTER_LOG_POS = 120 呢?我是否需要包括在内,如果需要,如何?我的转储命令包括 --flush-logs 所以它应该已经启动了一个全新的文件。

我正在阅读这里https://dev.mysql.com/doc/refman/5.7/en/backup-policy.html和这里https://dev.mysql.com/doc/refman/5.7/en/recovery -from-backups.html

0 投票
1 回答
771 浏览

mysql - 无法连接到 NiFi 中的 binlog 客户端

我正在构建一个 NiFi 数据流,我需要从 MySql 数据库中获取数据更改,所以我想使用 CaptureChangeMySQL 处理器来做到这一点。

运行 CaptureChangeMySQL 处理器时出现以下错误,但看不到是什么原因造成的:

Failed to process session due to Could not connect binlog client to any of the specified hosts due to: BinaryLogClient was unable to connect in 10000ms: org.apache.nifi.processor.exception.ProcessException: Could not connect binlog client to any of the specified hosts due to: BinaryLogClient was unable to connect in 10000ms

我启用了以下控制器服务:

  • 分布式地图缓存客户端服务
  • 分布式地图缓存服务器

但我不确定它们是否配置正确:

DistributedMapCacheServer 属性

DistributedMapCacheClientService 属性

在 MySql 中,我启用了 log_bin 变量,默认情况下没有。我检查了一下,确实在数据更改时创建了一些 binlog 文件。

所以我认为问题在于控制器服务以及它们如何连接,我不清楚。

我搜索了有关如何使用此 NiFi 处理器的教程,但找不到如何修复此错误。我主要看这个:https ://community.hortonworks.com/articles/113941/change-data-capture-cdc-with-apache-nifi-version-1-1.html但它没有帮助我。

有没有人已经使用这个处理器来做 CDC?

先感谢您。

0 投票
1 回答
98 浏览

mysql - MySQL,mysqlbinlog加载错误后恢复数据库?

我正在从初始转储文件和转储后创建的二进制日志集复制 MySQL 数据库。

转储的初始负载很好。然后,在使用 mysqlbinlog 加载二进制日志时,会发生其中一个文件将失败,例如,出现“服务器已消失”错误。

有什么方法可以从失败的 mysqlbinlog 运行中恢复,或者数据库副本现在是否已无法修复?我知道哪个日志失败了,但我不能只是重新运行该日志,因为错误可能发生在日志中的任何查询中。

有没有办法处理这个向前发展?

我可以首先考虑将出现错误的可能性降到最低,但如果加载过程中的任何 MySQL 问题完全破坏了数据库,这似乎不是一个恢复过程(或主/从过程)。我觉得我一定是错过了什么。

0 投票
1 回答
57 浏览

mysql - MySQL bin 日志分块

我正在尝试从表中删除记录,例如

当我检查我的 bin 日志时,它显示此删除语句被分解为更小的块,例如:

这在我的复制中创造了一个高峰。任何想法为什么 bin-log 会以较小的块破坏事物?对于我正在使用 laravel 的框架