TIDB 初级课程体验 6 (使用和连接TIDB,与参数配置)

2021-06-23 00:00:00 集群 节点 配置 级别 步长

TIDB 之所以能流行,主要的原因是兼容性,TIDB在设计之初就使用了兼容MYSQL的语法,让目前大的数据库使用团体在语句的使用方面不需要在学习,也让TIDB 和互联网的公司打的火热。


TIDB 的连接是十分简单的,你只需要下载MYSQL的客户端就可以使用,端口是4000。

TIDB SERVER 模块是与我们的MYSQL客户端进行连接的, 首先TIDB SERVER是一个无状态的静态节点,也就是他不是一个数据持久性的节点。TIDB 的扩展也很简单和无状态。 

这样的情况下,我们的TIDB 可以无限扩展并且可以进行负载均衡的方式来降低客户的连接数(TIDB).


兼容mysql5.7协议, 支持MYSQL5.7常用功能更和语法, 对于像外键,存储过程,函数,触发器等都是不支持的。


对于MYSQL 支持的客户端都可以连接到TIDB中,如WORKBENCH, NAVICATE 等都是可以的。


mysql -uroot -p -h 127.0.0.1 -P4000


查看TIDB 的版本 ,其中包含 tidb的版本, 版本的特性是社区办还是其他的版本以及我们的UTC的时间, tikv的信息.



基本上相关的语法与MYSQL没有差异


数据库的配置中,分为两个部分 TIDB 配置和 集群配置, 存储在 TIKV 中的配置是直接生效, 而集群配置是需要集群的节点需要重新启动后才能加载.



tidb 的系统参数分为


1  全局级别  对全局都有影响

2  会话级别   支队会话级别进行影响, 默认是session级别

3  instance级别; 只影响修改节点的配置



A C E 


A 正确,    集群配置参数没有作用域, 需要通过TIUP来进行集群的参数的修改, 并且就请你持久化在配置文件中



TIDB 的参数与配置


熟悉数据库的同学都知道参数的配置是数据库中重要的东西,这里TIDB的数据库的参数的类型和配置就是下面要进行学习的


TIDB的配置主要分为两部分, 

1 系统配置   在TIDB 的客户端来进行配置和修改,不包含PD 和 TIKV的参数配置。这些系统的配置是要存储在 TIKV中的, 我们称之为系统参数。在数据库重启后,会继续存在,并且有作用域, 同时通过MYSQL客户端来进行参数的修改。


2 集群配置  集群配置中包含 PD, TIKV ,TIDB server 的配置参数,是需要在各个节点中存在,需要通过TIUP来配置,并且需要重启后生效的。没有作用域, 需要通过tiup edit-config  tiup reload 等命令进行修改


什么是作用域:


作用域分为,会话session 作用域, 如自增列的步长的设计,在SESSION级别中是可以单独设计的,这点和MYSQL不同。而全局是针对除自己的SESSION 以外的其他会话(新连入)的全部生效。

另外还有一个INSTANCE的节点,这点与MYSQL的概念没有太多的关系,这与分布式数据库的概念有关,我们可以有多个TIDB的节点,这样的情况下,我们的影响的范围是针对这个TIDB SERVER生效的。



tiup cluster edit-config tidb-test    (对TIKV  PD  部分TIDB server 结点的命令)



下面我们来做一个练习关于TIDB 的配置




我们查看show variables like 'auto_increment_increment';




我们创建一个数据库并且创建一张表, 然后我们对其的自增进行变化,来去理解 SESSION,  GLOBAL 之间的区别.


先插入一些数据,我们在调整步长  (这是TIDB 不是MSYQL 所以步长可以随便在SESSION 级别调整)

通过在 session 级别调整步长 set auto_increment_increment = 10; 我们就可以在这个SESSION 中再次插入数据,改变步长,见上图.

我们在开一个Session 然后在插入一条数据,可以看到这次的步长还是1 

那么这里我们可以得到两个事情


1  SESSION 级别只针对当前SESSION 有效

2  默认对SESSION 级别生效的是GLOBAL的设置

3  当SESSION 级别的断开后,相关的配置就失效了




通过以上联系得出结论


1  SESSION 的设置在SESSION 中的级别大于GLOBAL

2  GLOBAL 设置的值,如果与SESSION 级别不同,则以SESSION 当前的值为准


下面我们通过修改配置文件修改集群的一些配置

修改配置之前,我们需要理解,


1  我们需要到TIKV的节点 

2  配置文件的位置 一般在下图的位置,配置文件


通过命令 tiup  cluster edit-config tidb-test 来打开集群的配置文件

下面通过相关配置,对于所有的节点进行配置.


保存,如果错误,则无法进行保存. 并告知你那里错误了

如果改对了则可以直接进行保存y


直接运行 tiup cluster reload tidb-test 就对相关的参数进行部署了.

出现问题在RELOAD的时候, 这边回来在咨询 

那么实际上 reload 本身是不会影响生产的访问的,但问题会影响性能,这里与restart 是不同的.


tiup cluster display tidb-test  可以展示相关的整体集群的状态.




相关文章