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>
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-logscommand option.The MySQL Server restarts.