TiDB config 权限

Question

tidb 的 config 权限具体用来控制什么事情?

修改全局配置
修改会话配置
重载配置

你的意思是在tidb中show config哪些config吗?
其实主要分清variable和config这俩的区别就行,
variable都是针对tidb-server的系统变量参数,分全局和会话两种级别
config是针对集群中的各个组件的集群参数,例如tidb-server、tikv、pd、tiflash等等,和你tiup cluster edit-config哪些配置文件参数作用一样,但并不是所有的config都能在线修改,及时能在线修改了,配置文件参数不会同步修改,需要手工修改。

不是的,是想看看 config 这个权限的官方说明,这个是 tidb 自有的权限

再咨询下有没有看到过官方的说明?

能否具体说下是哪个config?

https://docs.pingcap.com/zh/tidb/stable/sql-statement-show-config/#show-config

https://docs.pingcap.com/zh/tidb/stable/tiup-component-cluster-edit-config#tiup-cluster-edit-config

https://docs.pingcap.com/zh/tidb/stable/information-schema-cluster-config#cluster_config

image
比如 DM、Dashboard 是确定需要该权限的

// ConfigPriv is the privilege to enable the use SET CONFIG statements.
ConfigPriv

这个就是上面我说的show config或者set config对应的权限
可以通过
GRANT CONFIG ON . TO ming;
这种方式给普通用户授权修改config,但是强烈建议不要这么做,因为config权限理论上只应该给root用户,这种权限对数据库影响极大。

1 个赞

是的,问题最早的出发点是:dm 现在需要这个权限,但正常不应该给普通用户这个权限

dm并没有要这个权限啊?
https://docs.pingcap.com/zh/tidb/v6.1/dm-worker-intro#下游数据库用户权限

文档内容应该要优化一下了。我本地 dm 6.5.1 load 阶段会报错:Error 1227(42000):Access denied;you need (at least on of) the CONFIG priviledge for the operation

那可以去提个建议反馈。。。不过dm的用户本身权限也不小,建议用单独的用户,同时可以创建数据源的时候对密码进行加密。

我看了下我创建dmuser的语句,确实需要config权限。

dm权限确实不小,甚至可以随意create/drop database了。给dm单独建立一个用户是个比较好的方式。有资源管控的情况下,可以非常简单的控制导入对数据库的影响。相比从配置文件中控制并发参数什么的控制方式,资源管控的方便性有显著的提升。