问题标签 [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.
database - 使用 binlog_format="row" 在只读副本上启用 BinLogs
我最近通过启用自动备份在我的只读副本上启用了二进制日志(如此处所述)。但是,默认 binlog_format 设置为 MIXED。
由于这种不一致,Debezium 连接器失败,因为它找到了 MIXED 格式的初始二进制日志。有没有办法从一开始就启用 ROW 格式的二进制日志?
添加错误日志:
mysql - Kafka乱码——中文单词在debezium中变成乱码
我的 debezium 代码很乱:
mysql数据库中有中文的话,我用debezium把数据发给kafka。消费消息时发现中文单词乱码,请问如何解决?有什么我可以使用的配置吗?
当我使用flume和kafka producer生成中文单词时,效果很好
部分配置:
mysql 字符集:utf8 mysql 配置图片
版本:debezium v0.7.5、kafka v1.1.1
添加:
当我用控制台测试它时,./kafka-console-consumer.sh --zookeeper 192.168.0.100:2181 --topic mysqlfullfillment.test.doulist
我得到了凌乱的代码
在我的 spark 代码中,我得到了相同的混乱代码:
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(付费开发人员支持),但他们没有发现任何特别之处,并表示问题可能出在硬件方面。所以我们必须创建新的副本并将我们的自定义模式迁移到它,然后杀死有问题的副本。
mysqlbinlog - lsyncd 无法更新 mysql-bin.00001
我使用 lsyncd 和 lsyncd 将文件发送到其他服务器,.sql 文件可以,但是 mysql-bin.00001 无法更新。
lsyncd.conf
mysql - Debezium 上的参数 database.history 的确切含义是什么?
我们正在开发一个项目,使用 Debezium 将数据从读取 binlog 的数据库流式传输到消息代理。更深入地研究它,并试图更好地理解该工具,出现了两个与配置参数相关的问题:
- 参数的确切含义是什么
database.history
? MemoryDatabaseHistory
可能的值和之间有什么区别FileDatabaseHistory
?
谢谢!
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
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
我启用了以下控制器服务:
- 分布式地图缓存客户端服务
- 分布式地图缓存服务器
但我不确定它们是否配置正确:
DistributedMapCacheClientService 属性
在 MySql 中,我启用了 log_bin 变量,默认情况下没有。我检查了一下,确实在数据更改时创建了一些 binlog 文件。
所以我认为问题在于控制器服务以及它们如何连接,我不清楚。
我搜索了有关如何使用此 NiFi 处理器的教程,但找不到如何修复此错误。我主要看这个:https ://community.hortonworks.com/articles/113941/change-data-capture-cdc-with-apache-nifi-version-1-1.html但它没有帮助我。
有没有人已经使用这个处理器来做 CDC?
先感谢您。
mysql - MySQL,mysqlbinlog加载错误后恢复数据库?
我正在从初始转储文件和转储后创建的二进制日志集复制 MySQL 数据库。
转储的初始负载很好。然后,在使用 mysqlbinlog 加载二进制日志时,会发生其中一个文件将失败,例如,出现“服务器已消失”错误。
有什么方法可以从失败的 mysqlbinlog 运行中恢复,或者数据库副本现在是否已无法修复?我知道哪个日志失败了,但我不能只是重新运行该日志,因为错误可能发生在日志中的任何查询中。
有没有办法处理这个向前发展?
我可以首先考虑将出现错误的可能性降到最低,但如果加载过程中的任何 MySQL 问题完全破坏了数据库,这似乎不是一个恢复过程(或主/从过程)。我觉得我一定是错过了什么。
mysql - MySQL bin 日志分块
我正在尝试从表中删除记录,例如
当我检查我的 bin 日志时,它显示此删除语句被分解为更小的块,例如:
这在我的复制中创造了一个高峰。任何想法为什么 bin-log 会以较小的块破坏事物?对于我正在使用 laravel 的框架