tidb真的有吹的那么神吗 tidb

TiDB修改配置参数【tidb真的有吹的那么神吗 tidb】 在TiDB 中,“修改配置参数”似乎是个不精准的说法,它实际包含了以下内容:
TiDB的配置修改比较混乱,先做个总结,再介绍具体内容:
查看TiDB系统变量:
集群中所有 TiDB Server 都生效;
持久化在哪里?
持久化在 kv 存储中,跟数据一样持久化了,不会持久化在 conf/tidb.toml 配置文件中 。所以不用担心 tiup upgrade 和 tiup reload 等运维操作会把配置文件覆盖,不会导致修改失效,因为这个修改的持久化不依赖配置文件 。
有些参数的作用域只有会话级别 。也就是只能会话级修改,这不代表着不能被动态修改 。
修改方式和会话级修改一样:
修改 Instance 级别的参数修改不会持久化,那么如何持久化呢?
a. 手工修改 TiDB 的配置文件:
b. 并使用 tiup edit-config 来修改对应的配置项,不需要做 tiup reload:
内容如下:
目前查看官方文档,发现只有3个只读变量:hostname、tidb_config、tidb_current_ts,没法通过 set variables 修改 。作用域比较奇怪,用法介绍也不清楚,看起来没有修改的必要 。如果一定要修改可以通过 tiup 方法修改 。
修改集群配置包括TiDB、TiKV 以及 PD 在内的各组件的配置进行修改 。
使用 edit-config 命令来编辑参数,以编辑模式打开该集群的配置文件:
如果配置的生效范围为该组件全局,则配置到 server_configs,比如修改所有 tikv 的 log-level 为 waring(默认是 info):
如果配置的生效范围为某个节点,则配置到具体节点的 config 中 。例如:
tiup reload 分发配置并滚动重启组件,无论是否可以动态修改的参数都会重启,并且默认会重启所有组件,可以选择指定节点或者组件:
tiup cluster reload ${cluster-name} [-N nodes] [-R roles]
示例中我们只修改 tikv 的 log-level 为 waring,所以用 -R tikv 指定只重启 tikv 节点:
set config 当前4.0版本属于实验性功能,不建议在生产使用:
目前只支持修改 TiKV 和 PD 的配置,TIDB的配置修改用上面的 set variables 方法 。
查看当前参数设置:
用 set config 修改参数,会持久化到配置文件 。log-level 无法动态修改,不会报错但是会有 warnings,对于不能动态修改的参数使用 tiup 进行修改:
动态修改示例:
虽然TiKV的配置文件 conf/tikv.toml 会持久化这个修改,但是为了防止tiup upgrade 和 tiup reload 等运维操作把配置文件覆盖导致修改失效,还需要执行 tiup edit-config 来编辑参数 。
tidb的数据类型查询问题tidb对于类型要求比较严格,例如 varchar 存储的字段内容,查询时用整形查,tidb会先转化类型后再查询,速度超级慢
id int(11) primary key
advertiser_id varchar(32) not null
advertiser_id 存储的都是 123,445,666之类
select * from table where name in (445,666) 这样查询会很慢
select * from table where name in ('445','666') 数据类型一致时会很快

tidb真的有吹的那么神吗 tidb

文章插图
TiDB 中忘记密码如何处理1、找到 tidb-server 的配置文件,具体在 deploy 目录下的 conf/tidb.toml
2、修改 tidb.toml,在[security] 作用域下,增加 skip-grant-table=true 配置项
3、找到 tidb-server 的启动文件,具体在 deploy 目录下的script/run_tidb.sh
4、由于 tidb 限制了 skip 模式只能在操作系统 root 用户启动 tidb-server 才可以进行,所以要用 root 用户来执行上面的脚本
sudo sh run_tidb.sh
5、此时再次登录 tidb,就会发现不需要输入 root 密码了,重置之后记得恢复配置文件及启动脚本即可
TiDB 基础操作集1、测试环境推荐配置
2、生产环境推荐配置
3、 如果 tikv 服务器的 CPU及磁盘配置较高,可以考虑多实例部署,按照每个 tikv 实例16~20core + 64G 内存 + 800G 磁盘的比例分配硬件资源 。
同时需要注意 inventory.ini 及 ansible/conf/tikv.yml 的相关配置 。
4、tidb 服务器视业务类型,如果业务逻辑有偏 AP 类的 SQL,需要考虑配置大内存,防止出现 OOM 。
如果是纯 TP 类业务,tidb 服务器 CPU 配置较高的话,也可以考虑多实例部署,每个 tidb-server 分配20~32core,可以避免无谓的CPU上下文切换,减少 system cpu 消耗 。
5、pd 服务器的磁盘可以配置200~500G 的SSD 盘,主要用来保存源数据信息 。在集群规模较大,源数据信息较多的时候,SSD 磁盘能够避免源数据信息存取成为集群的瓶颈点 。
1、操作系统版本要求

秒懂生活扩展阅读