TiDB从0到1系列
- TiDB-从0到1-体系结构
- TiDB-从0到1-分布式存储
- TiDB-从0到1-分布式事务
- TiDB-从0到1-MVCC
- TiDB-从0到1-部署篇
- TiDB-从0到1-配置篇
一、系统配置
TiDB的配置分为系统配置和集群配置两种。
其中系统配置对应TiDB Server(不包含TiKV和PD的参数),并持久化在TiKV上。
这类参数不需要重启,设置即刻生效。
与MySQL类似,系统参数有作用域,包括session级和global级别。
实验
表准备
mysql> CREATE TABLE `t1` (-> `id` int(11) NOT NULL AUTO_INCREMENT,-> PRIMARY KEY (`id`)-> ) ENGINE=InnoDB ;
1、session级参数只会影响当前会话
- 会话1:查看当前会话的auto_increment_increment(自增步长)
- 会话1:修改当前会话auto_increment_increment=10
- 会话1:向表中插入空数据
- 会话2:查看当前会话的auto_increment_increment(自增步长)
- 会话2:向表中插入空数据
(会话1)
(会话2)
这里看到session级的系统参数修改只会影响到本会话。
2、global级参数只会影响新连入会话
- 会话1:查看global级的auto_increment_increment(自增步长)
- 会话1:修改global级auto_increment_increment=10
- 会话1:查看global级的auto_increment_increment
- 会话1:查看session级的auto_increment_increment
- 会话1:向表中插入空数据
- 会话1:重新登录,并查看global级和session的auto_increment_increment
- 会话1:向表中插入空数据
- 会话2:查看global级的auto_increment_increment
- 会话2:查看session级的auto_increment_increment
- 会话2:向表中插入空数据
(会话1)
(会话2)
3、global级参数会持久化到TiKV
- 会话1:修改global级auto_increment_increment=10
- 重启TiDB集群
- 会话2:查看global级的auto_increment_increment
- 会话2:查看session级的auto_increment_increment
客户端连接后默认是会话级别
二、集群配置
主要配置TiKV和PD,存储在配置文件中,不能通过客户端修改,只能修改配置文件并重启
实现
- 查看TiKV节点配置
- 修改集群配置
tiup cluster edit-config tidb-test
- 修改配置内容
server_configs:tidb: {}tikv:log-level: warning
- 载入配置(注意!!!该操作会重启各个节点)
tiup cluster reload tidb-test
- 重载配置后,各个TiKV节点配置生效
彩蛋
TiDB-5.0版本后可以在线修改部分集群参数(不过为实验特性,生产谨慎使用)。