TiDB-配置调整
配置分类
系统配置(系统变量)
通过mysql客户端中使用命令进行修改,持久化到tikv层。
集群配置
包括pd, tidb-server, tikv,tiflash的配置,通过各个节点上配置文件持久化设置。只有在节点重启生效。
区别
作用域(系统参数)
集群配置没有作用域范围,只有系统配置才有作用域
- global: 对新建会话连接有效,当前连接会话或已建立的会话不生效
- session: 仅在当前会话生效
- instance: 节点上实例重启后生效
配置调整
系统参数
通过mysql客户端连接到TiDB-Server后,使用set命令修改。
全局参数
-- 1.1 查看当前配置值
select @@tidb_slow_log_threshold;
-- 1.2 修改配置
set @@global.tidb_slow_log_threshold = 200;
set global tidb_slow_log_threshold = 200;
会话参数
set tidb_distsql_scan_concurrency = 10;
set session tidb_distsql_scan_concurrency = 10;
集群参数
配置过程
- 以编辑模式打开集群的配置文件
- 设置参数
- 执行reload命令滚动分发配置、重启相应组件
详细过程
以编辑模式打开集群的配置文件
tiup cluster edit-config ${cluster-name}
设置参数
全局组件范围生效(在server_configs标签内配置)
server_configs:
tidb:
log.slow-threshold: 300
指定组件范围生效(在具体节点标签内配置)
tidb_servers:
- host: 192.168.10.181
port: 4000
config:
log.slow-threshold: 300
可以参考模板文件参数配置
/tidb/.tiup/bin/tiup cluster template # 生成模板文件
执行reload命令
tiup cluster reload ${cluster-name} [-N <nodes>] [-R <roles>]
查看配置
集群参数
通过show config
命令查看
通过 SQL语句 show config 来直接查看集群所有实例的配置信息
show config
查看tidb-server参数
-- 根据对应的字段进行过滤
SHOW CONFIG WHERE type='tidb';
SHOW CONFIG WHERE type = 'tidb' AND name = 'advertise-address';
查看tikv参数
SHOW CONFIG WHERE type='tikv';
SHOW CONFIG WHERE type = 'tikv' AND name like '%sync-log%';
使用系统表查看
Information Schema 提供了一种查看系统元数据的方法。许多 INFORMATION_SCHEMA
表都有相应的 SHOW
命令。查询 INFORMATION_SCHEMA
的好处是可以在表之间进行 join
操作。
-
集群拓扑表 (information_schema.cluster_info)
用于获取集群当前的拓扑信息,以及各个实例的版本、版本对应的 Git Hash、各实例的启动时间、各实例的运行时间。
-
集群配置表 (information_schema.cluster_config)
用于获取集群当前所有实例的配置。对于 TiDB 4.0 之前的版本,用户必须逐个访问各个实例的 HTTP API 才能获取这些配置信息。
-
集群硬件表 information_schema.cluster_hardware
用于快速查询集群硬件信息。
-
集群负载表 information_schema.cluster_load
用于查询集群不同实例以及不同硬件类型的负载信息。
-
内核参数表 information_schema.cluster_systeminfo
用于查询集群不同实例的内核配置信息。目前支持查询 sysctl 的信息。
-
集群日志表 information_schema.cluster_log
用于集群日志查询,通过将查询条件下推到各个实例,降低日志查询对集群的影响,性能影响小于等 grep 命令。
select * from information_schema.cluster_info;
系统参数
通过show variables命令查看系统变量值
查看各个作用域范围变量
- 全局 (global) :使用 show global variables 查看
- 实例 (instance) :使用 show variables 查看
- 会话 (session) :使用 show variables 查看