**导读**
> 作者:杨漆
> 16年关系型数据库管理,从oracle 9i 、10g、11g、12c到Mysql5.5、5.6、5.7、8.0 到TiDB获得3个OCP、2个OCM;运维路上不平坦,跌过不少坑、熬过许多夜。把工作笔记整理出来分享给大伙儿,希望帮到大家少走弯路、少熬夜。
一、Tiup 常用运维操作命令干货
1.查看集群列表:
tiup cluster list
2.启动顺序 PD->tikv->pump->tidb->tiflash->drainer
tiup cluster start ${cluster-name}
3.启动部分组件
tiup cluster start ${cluster-name} -R pd
4.只启动1.2.3.4和1.2.3.5这两台Server上的PD组件
tiup cluster start ${cluster-name} -N 1.2.3.4:2379, 1.2.3.5:2379
5.查看集群状态:
tiup cluster display ${cluster-name}
6.修改配置参数:
tiup cluster edit-config ${cluster-name}
全局配置:
server_configs:
tidb:
log.slow-threshold:300
仅在某个节点生效:
tidb_servers:
host:10.10.10.2
port:4000
config:
log.slow-threshold:300
### tidb config.toml.example、tikvconfig.toml.example、pd config.toml.example
7.滚动分发配置、重启组件:
tiup cluster reload ${cluster-name} [-N <nodes>][-R <roles>]
### server_configs:
tidb:
performance.txn-total-size-limit: 1073741824
tiup cluster reload ${cluster-name} -R tidb
8.Hotfix版本替换:
替换所有 tiup cluster patch test-cluster /tmp/tidb-profix.tar.gz -R tidb
只替换指定节点 tiup cluster patch test-cluster /tmp/tidb-profix.tar.gz -N 172.16.4.5:4000
9.重命名集群:
tiup cluster rename ${cluster-name} ${new-name}
备注:重命名集群会重启 prometheus和grafana;重命名集群后grafana 可能会残留一些旧集群名的面板,需要手动删除
10.关闭集群:
顺序 drainer->tiflash->tidb->pump->tikv->PD
tiup cluster stop ${cluster-name}
只关闭1.2.3.4和1.2.3.5这两台Server上的tidb组件
tiup cluster stop ${cluster-name} -N 1.2.3.4:4000, 1.2.3.5:4000
11.清除集群数据(关闭所有服务、清空数据目录/日志目录,数据无法恢复,谨慎!)
清空数据保留日志: tiup cluster clean ${cluster-name} --data
清空日志保留数据: tiup cluster clean ${cluster-name} --log
清空日志和数据: tiup cluster clean ${cluster-name} --all
清空prometheus以外的日志和数据: tiup cluster clean ${cluster-name} --all ignore-role prometheus
清空172.30.20.1:9000以外的日志和数据: tiup cluster clean ${cluster-name} --all ignore-role 172.30.20.1:9000
清空172.30.20.2以外的日志和数据: tiup cluster clean ${cluster-name} --all ignore-role 172.30.20.2
12.销毁集群(关闭服务、清空数据和部署目录,无法恢复)
tiup cluster destory ${cluster-name}
二、Tidb Ansible 常用运维操作命令干货
1.启动集群
ansible-playbook start.yml
2.关闭集群
ansible-playbook stop.yml
3.清除集群数据 (关闭TiDB、Pump、TiKV、PD 服务,并清空Pump、TiKV、PD 数据目录)
ansible-playbook unsafe_cleanup_data.yml
4.销毁集群 (关闭集群,并清空部署目录,若部署目录为挂载点,会报错,可忽略)
ansible-playbook unsafe_cleanup.yml
三、 在线修改集群配置(tidb4.0中为实验阶段,不建议生产使用)
通过在线配置变更对各组件进行性能调优而无需重启集群组件
1.查看实例配置
show config
根据对应的字段进行过滤show
show config where type='tidb'
show config where instance in (...)
show config where name like '%log%'
show config where type='tikv' and name='log-level'
2.在线修改TiKV 配置
修改全部TiKV 实例配置 set config tikvlog.level="info"
修改单个TiKV 实例配置 set config "127.0.0.1:20180" log.level="info"
备注:
在线修改TiKV 配置项后,同时会自动修改TiKV 的配置文件。但还需要使用tiup edit-config
命令来修改对应的配置项,否则upgrade 和reload 等运维操作会将在线修改配置后的结果
覆盖。执行tiup edit-config 后不需要执行tiup reload 操作。
3.在线修改PD 配置
set config pd log.level="info"
4.在线修改TiDB 配置
set tidb_slow_log_threshold = 200
查看变量: select @@tidb_slow_log_threshold