英文:
When are mysql save a new binlog file?
问题
我正在开发一个Java应用程序来读取binlog文件
以捕获查询事件。一切都会很顺利,没有异常。但是,如果我的应用程序崩溃了,我会错过很多来自我的数据库的事件。所以我想知道当MySQL保存新的binlog文件中的新binlog位置时会发生什么?这样我就可以保存一个检查点,以便不错过来自我的数据库的任何事件。
我用于读取MySQL binlog的外部库是:
<dependency>
<groupId>com.github.shyiko</groupId>
<artifactId>mysql-binlog-connector-java</artifactId>
<version>0.21.0</version>
</dependency>
英文:
I'm developing 1 java application to reading a binlog file
to catch query event. Everything would be fine without exception. But what will happen if my application was crashed, i will miss many event to from my database. So i wondering when mysql save new bin log position in a new binlog file? So i can save a checkpoint so as not to miss any event from my database.
My external library use to read binlog mysql :
<dependency>
<groupId>com.github.shyiko</groupId>
<artifactId>mysql-binlog-connector-java</artifactId>
<version>0.21.0</version>
</dependency>
答案1
得分: 1
MySQL 在三种情况下会打开一个新的二进制日志文件:
-
当前的二进制日志文件超过了
max_binlog_size
。文件可以略微超过这个大小,以允许当前事件完成写入。 -
一些客户端运行了
FLUSH LOGS
命令。例如,如果你使用了--flush-logs
命令选项,mysqldump 会执行这个操作。 -
MySQL 服务器重新启动。
英文:
MySQL opens a new binary log file in three cases:
-
The current binary log file exceeds
max_binlog_size
. The file can go over that size slightly, to allow the current event to finish writing. -
Some client runs the command
FLUSH LOGS
. For example, mysqldump does this if you use the--flush-logs
command option. -
The MySQL Server restarts.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论