Javascript 如何在特定的binlog位置重新启动?

Javascript 如何在特定的binlog位置重新启动?,javascript,mysql,node.js,events,mysqlbinlog,Javascript,Mysql,Node.js,Events,Mysqlbinlog,我使用nodejsmysql事件来解析mysql数据库更新。 为了避免每次重新启动脚本时解析所有日志,我希望使用从中读取的binlogName和nextPosition 文件名字符串开始从此binlog文件读取事件。如果 与位置一起指定,将优先于 开始 位置整数开始从此位置读取事件。必须是 包含在文件名中 下面的代码很有魅力: const mysql = require('mysql'); const MySQLEvents = require('@rodrigogs/mysql-events'

我使用nodejsmysql事件来解析mysql数据库更新。 为了避免每次重新启动脚本时解析所有日志,我希望使用从中读取的
binlogName
nextPosition

文件名字符串开始从此binlog文件读取事件。如果 与位置一起指定,将优先于 开始

位置整数开始从此位置读取事件。必须是 包含在文件名中

下面的代码很有魅力:

const mysql = require('mysql');
const MySQLEvents = require('@rodrigogs/mysql-events'); 

// Connect to mysql instance
const connection = mysql.createConnection({
    host: 'host',
    user: 'user',
    password: '*****'
});
const mysqlInstance = new MySQLEvents(connection, {
    startAtEnd: true
});

await mysqlInstance.start();
值有效,并从vscode调试器复制

mysql> show master status;
+------------+----------+--------------+------------------+-------------------+
| File       | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------+----------+--------------+------------------+-------------------+
| bin.000015 | 34837697 |              |                  |                   |
+------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)
一旦我更改mysqlInstance设置,它就会忽略它并从第一个日志开始

const mysqlInstance = new MySQLEvents(connection, {
    binlogName: 'bin.000015',
    nextPosition: 18540004
});
我应该指定其他内容吗