https://zhuanlan.zhihu.com/p/356031031

**导读**

> 作者:杨漆
> 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

[转帖]Tiup 常用运维操作命令干货的更多相关文章

  1. linux基本语法和常用运维命令

    linux上的操作一般是命令行操作,看起来很高大上,让人畏而远之. Help!Help! 忽然间闯入的linux黑黑的世界,怎么办,不要慌.赶紧敲出一个help命令,然后回车,黑色的窗口就会展示一些常 ...

  2. 转:python常用运维脚本实例

    python常用运维脚本实例 转载  file是一个类,使用file('file_name', 'r+')这种方式打开文件,返回一个file对象,以写模式打开文件不存在则会被创建.但是更推荐使用内置函 ...

  3. python常用运维脚本实例【转】

    file是一个类,使用file('file_name', 'r+')这种方式打开文件,返回一个file对象,以写模式打开文件不存在则会被创建.但是更推荐使用内置函数open()来打开一个文件 . 首先 ...

  4. DB2常用运维命令

    DB2是IBM公司推出关系型数据库管理系统.主要应用于银行.医院等大型机构.现今DB2主要包含以下三个系列:DB2 for Linux, UNIX and Windows(LUW) . DB2在Lin ...

  5. Liunx常用运维命令整理记录

    前言 作为后端开发者,掌握一些常用的运维命令也是很有必要的,本文记录常用Liunx运维命令 基本命令 目录切换 cd base-admin/ 切换到当前目录下的base-admin目录 cd .. 切 ...

  6. [转帖]Linux企业运维人员最常用150个命令汇总

    Linux企业运维人员最常用150个命令汇总 https://clsn.io/clsn/lx998.html 基本上都用过了. 命令 功能说明 线上查询及帮助命令(2个) man 查看命令帮助,命令的 ...

  7. linux常用运维命令【转】

    自己的小网站跑在阿里云的ECS上面,偶尔也去分析分析自己网站服务器日志,看看网站的访问量.看看有没有黑阔搞破坏!于是收集,整理一些服务器日志分析命令,大家可以试试! 1.查看有多少个IP访问: awk ...

  8. python常用运维脚本实例

    转载  file是一个类,使用file('file_name', 'r+')这种方式打开文件,返回一个file对象,以写模式打开文件不存在则会被创建.但是更推荐使用内置函数open()来打开一个文件 ...

  9. nginx常用运维日志分析命令

    nginx常用日志分析命令 运维人员必备 常用日志分析命令 1.总请求数 wc -l access.log |awk '{print $1}' 2.独立IP数 awk '{print $1}' acc ...

  10. (转)ceph 常用 运维命令--查看信息 - 不错的文档

    下面是测试验证环节 1. 创建一个 pool rbd create foo --size 4 --image-format 2 --image-feature layering 2. 挂载和格式化 r ...

随机推荐

  1. 39. 干货系列从零用Rust编写负载均衡及代理,正则及格式替换

    wmproxy wmproxy已用Rust实现http/https代理, socks5代理, 反向代理, 静态文件服务器,四层TCP/UDP转发,七层负载均衡,内网穿透,后续将实现websocket代 ...

  2. Boost程序库完全开发指南:1.1-C++基础知识点梳理

      主要整理了N多年前(2010年)学习C++的时候开始总结的知识点,好长时间不写C++代码了,现在LLM量化和推理需要重新学习C++编程,看来出来混迟早要还的. 1.shared_ptr 解析:sh ...

  3. LeetCode141环形链表I、II

    141. 环形链表 给定一个链表,判断链表中是否有环. 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始). 如果 pos 是 -1,则在该链表中没有环. ...

  4. ReactNative环境安装

    一.Homebrew 采用 Homebrew 镜像源及工具,切换到国内. /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/Homebre ...

  5. 从部署和运维说说DLI(1)

    DLI是支持多模引擎的Serverless大数据计算服务,其很好的实现了Serverless的特性:   1. 弱化了存储和计算之间的联系: 2. 代码的执行不再需要手动分配资源: 3. 按使用量计费 ...

  6. 实时入库不用愁,HStore帮分忧

    本文分享自华为云社区<直播回顾 | 实时入库不用愁,HStore帮分忧>,作者:汀丶. 海量数据时代,如何实现数据实时入库与实时查询?GaussDB(DWS) HStore表为数据高效存储 ...

  7. 火山引擎DataTester:AB实验平台未来演进趋势是怎样的?

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 近日,DataFun联合行行AI举办第四届"数据智能创新与实践人工智能大会,火山引擎DataTester ...

  8. Leaflet 百度、高德地图瓦片坐标 偏移 纠偏

    实现地图瓦片纠偏的leaflet.mapCorrection.js代码: //坐标转换 L.CoordConvertor = function () { /**百度转84*/ this.bd09_To ...

  9. L2-007 家庭房产 (25 分) (并查集)

    给定每个人的家庭成员和其自己名下的房产,请你统计出每个家庭的人口数.人均房产面积及房产套数. 输入格式: 输入第一行给出一个正整数N(≤1000),随后N行,每行按下列格式给出一个人的房产: 编号 父 ...

  10. JAVA使用Session获取用户信息

    JAVA使用Session获取用户信息 1. 在登录的Controller中将用户信息塞入Session //前端传入用户信息 @RequestMapping("/login") ...