MySQL Error number: MY-010146; Symbol: ER_TRACK_VARIABLES_BOGUS; SQLSTATE: HY000

文档解释

Error number: MY-010146; Symbol: ER_TRACK_VARIABLES_BOGUS; SQLSTATE: HY000

Message: The variable session_track_system_variables either has duplicate values or invalid values.

错误说明

MY-010146(ER_TRACK_VARIABLES_BOGUS)是一个由MySQL数据库引擎返回的基本错误,表明数据库引擎尝试跟踪一个由用户设置的变量时发现变量名不正确或不存在。该错误只会出现在使用binlog_track_changes_now数据库选项时。必须为MySQL的变量进行正确的命名,如果变量不存在,也会导致该错误。

常见案例

当Server上有用户非法定义的变量,并且设置binlog_track_changes_now为ON,Server将会尝试跟踪变量的修改,如果变量名不正确或不存在,将会显示MY-010146(ER_TRACK_VARIABLES_BOGUS)错误。此类定义变量一般会通过在Server上创建变量或者在周围SQL语句中使用该变量引发。

解决方法

要解决此问题,请检查定义的变量及其周围的SQL/MySQL语句,确保变量是正确定义的,变量的名字必须是有效的,并确保变量的名字小写或大写。如果变量名不正确,请在使用变量前重新定义,以确保更改正确记录。以确保变量正确声明,您可以使用“show global variables”查看可用变量列表,在声明变量之前您需要确保它是有效的变量名。然后使用MySQL语句 SET 进行变量定义,在定义变量之后,可以查看系统变量,使用MySQL语句 show variables 定义变量。也可以使用系统选项 toggle global system variable 来重新启用binlog_track_changes_now功能,以确保变量都是正确的。

你可能感兴趣的