Error number: MY-010663; Symbol: ER_NDB_BINLOG_NDB_LOG_TRANSACTION_ID_REQUIRES_V2_ROW_EVENTS; SQLSTATE: HY000
Message: NDB: –ndb-log-transaction-id requires v2 Binlog row events but server is using v1.
错误说明:
ER_NDB_BINLOG_NDB_LOG_TRANSACTION_ID_REQUIRES_V2_ROW_EVENTS是MySQL的一个错误,它发生在使用NDB Cluster时。这个错误指出当使用NDB存储引擎时,告知binlogging前端程序特定事务的日志记录所需的行操作版本号必须为2,以便事务日志记录能够正确被传送至binlogging前端程序。必须实现此版本才能正确操作NDB Binlog功能。
ER_NDB_BINLOG_NDB_LOG_TRANSACTION_ID_REQUIRES_V2_ROW_EVENTS错误通常发生在以下几种情况下:
1. 尝试使用行操作版本号为1的程序操作NDB Binlog功能时;
2. 尝试使用行操作版本号低于2的程序操作NDB Binlog功能时;
3. 配置NDB Binlog功能,程序运行时发现行操作版本号低于2时。
解决方法:
要解决ER_NDB_BINLOG_NDB_LOG_TRANSACTION_ID_REQUIRES_V2_ROW_EVENTS错误,首先应确保行操作版本号设置正确,设置为2,其次应根据系统需求配置NDB Binlog,选择合适的事务行操作版本号,要求对应的前端程序支持2及以上版本的操作。此外,为了保证NDB Binlog功能正确操作,必须使用支持强烈事务(ST)和细粒度日志(LL)的前端程序,并根据实际需求匹配最低版本号。