【 TiDB 使用环境】生产环境 /测试/ Poc
生产环境
【 TiDB 版本】
V6.1.5
【复现路径】做过哪些操作出现的问题
从V4.0.15升级到V6.1.5
【遇到的问题:问题现象及影响】
tidb log未搜索到该错误代码的信息,tidb集群运作状态正常。
【资源配置】
【附件:截图/日志/监控】
【 TiDB 使用环境】生产环境 /测试/ Poc
生产环境
【 TiDB 版本】
V6.1.5
【复现路径】做过哪些操作出现的问题
从V4.0.15升级到V6.1.5
【遇到的问题:问题现象及影响】
【资源配置】
【附件:截图/日志/监控】
应该是有什么set 的变量报错吧。可以搜一下日志 关键字 variable
日志没有记录。
这个关键字 variable
在tidb server 的面板里面,应该会提示这个报错在哪台机器上面 可以看一下
关键字 variable也搜索过,没有记录。
搜 “command dispatched failed” 关键字
[“variable:1235”]
error = ‘’’
function %s has only noop implementation in tidb now, use tidb_enable_noop_functions to enable these functions
‘’’
https://github.com/pingcap/tidb/blob/09bf23f1ba52823a2a96441678596721a6f6b4b3/errors.toml#L3074
variable:1235 是与函数实现有关。错误消息中提到的“noop implementation”是指在TiDB中实现的一种特殊函数,它不执行任何操作,只是返回一个空结果集。这些函数通常用于兼容性目的,以便在TiDB中运行MySQL代码时不会出现错误。
如果您遇到了这个错误,可以尝试使用tidb_enable_noop_functions
变量来启用这些函数。这个变量是在TiDB v4.0.0版本中引入的,用于控制noop函数的行为。默认情况下,TiDB会返回一个错误,当您尝试使用未实现的功能时。当变量值设置为ON
时,TiDB会静默地忽略这些不可用功能的情况,这对于您无法更改SQL代码的情况非常有用。
以下是如何使用tidb_enable_noop_functions
变量的示例:
set @@tidb_enable_noop_functions=1; --session
set @@global.tidb_enable_noop_functions=1; -- Global 级别,注意修改后,新 session 中生效
请注意,启用noop
函数可能会导致您的应用程序出现意外行为,因为它允许TiDB在不提供错误的情况下忽略某些语法。因此,只有默认值OFF
可以被认为是安全的。
希望这可以帮助您解决问题!
相关文档:https://docs.pingcap.com/zh/tidb/v5.0/system-variables#tidb_enable_noop_functions-从-v40-版本开始引入