刚接触TiDB一个月,当前的感受主要有两点:其一是TiDB的文档真的很丰富,光官方文档合起来就有4000多页,如果能把官方文档所有知识点都掌握,那绝对算得上是一个全面的TiDB专家了;其二是TiDB的工具很全面,官方文档有专门关于TiDB工具的一个章节,工具包括部署运维工具TiUP及TiDB Operator(Kubernetes部署)、数据迁入Data Migration(将MySQL/MariaDB迁移到TiDB)、全量导出Dumpling、全量导入Lightning、备份恢复Backup&Restore、增量同步TiCDC及TiDB Binlog、数据校验sync-diff-inspector等。
TiDB的工具确实多,不同的工具也有很多不同的命令、参数还有相应的配置文件。对于一个初学者而言,想要在短时间内完全熟悉这些命令怕是有相当大点难度的。拿笔者个人的学习体会而言,虽然用了一周时间考过了PCTP,但课程中相关工具的原理、命令啥的已经变得模糊不清,所以有必要通过记录的方式来回顾这些知识点。今天我们先通过这篇文章来总结一下TiDB强大的运维管理命令行工具TiUP。
一. TiUP是什么?
简单来说,TiUP是一个TiDB包管理器,管理众多组件如TiDB、PD、TiKV等。当想要运行任何组件时,只需要执行一条TiUP命令即可。
二. TiUP如何安装?
安装TiUP非常简单,如果机器可以访问外网,直接使用以下命令安装即可(如果是离线环境,需要下载TiDB-community-toolkit包)。
curl --proto '=https' --tlsv1.2 -sSf https://tiup-mirrors.pingcap.com/install.sh | sh |
---|
该命令将TiUP默认安装在$HOME/.tiup文件夹下,之后安装的组件及组件运行产生的数据也会在该文件夹下。同时,它还会自动将$HOME/.tiup/bin加入到.bash_profile中,如上面截图所示。之后,我们source .bash_profile后便可以使用tiup命令了。
source .bash_profile |
---|
TiUP本身也是有版本的,可以使用tiup –version来查看TiUP的版本号。
tiup --version |
---|
三. TiUP如何使用?
想了解TiUP如何使用,首先可以通过查看TiUP命令行介绍,通过执行tiup –help或直接执行tiup看到帮助信息。
tiup --help |
---|
可以简单把TiUP命令分为两部分来看,即支持哪些命令和支持哪些组件。命令和组件的区别是命令是tiup自带的,而组件需要通过tiup进行安装。
从支持的命令来说,TiUP支持以下命令:
- install-用于安装组件
- list-用于查看有哪些组件
- uninstall-用于卸载组件
- update-用于更新组件
- status-查看组件运行状态
- clean-清除组件运行记录
- mirror-克隆一个私有镜像
- telemetry-telemetry相关的内容
- env-查看tiup相关系统变量
- history-查看tiup执行历史命令
- link-将组件二进制文件链接到$TIUP_HOME/bin/
- unlink-与link相反
- help-帮助
- completion-生成autocompletion脚本
举个例子,我们可以使用tiup list来查看有哪些组件,进而用tiup list <component-name>来查看具体某个组件的所有版本。
tiup list |
---|
从可用的组件来说,tiup list显示的组件就是当前支持的组件,包括:
- PCC-用于捕获不同TiDB版本变更的组件。
- bench-用于对数据库进行压力测试的组件。
- br-备份恢复组件。
- cdc-cdc组件。
- chaosd-混沌工程工具。
- client-连接playground的客户端。
- cloud-管理TiDB Cloud的CLI工具。
- cluster-部署用于生产的集群。
- ctl-控制器套件。
- dm-Data Migration数据迁移平台。
- dmctl-DM数据迁移的dmctl组件。
- errdoc-TiDB错误文档。
- pd-recover-PD的灾难恢复工具。
- playground-可安装一个本地试玩的单机TiDB。
- tidb-TiDB Server组件。
- tidb-dashboard-TiDB dashboard组件。
- tidb-lightning-Lightning导入组件。
- tikv-br-TiKV集群br组件。
- tikv-cdc-TiKV的cdc组件。
- tiproxy-基于TiDB的proxy组件。
- tiup-tiup包管理器。
四. 关于TiUP组件?
组件是可运行的程序或脚本,通过tiup <component>[:version]运行。如果未指定[:version],表示默认用本地的最新版本,如果本地没有对应版本则自动从镜像服务器下载对应的版本。
五. 关于TiUP镜像?
TiUP所有组件都从镜像下载,镜像仓库包含各个组件的tar包及元信息,TiDB默认使用PingCAP官方镜像库,用户也可以自定义镜像仓库。镜像仓库可以是在线HTTP服务器,也可以是本地文件目录。
tiup mirror show |
---|
//在线官方镜像仓库 [tidb@tidb53 ~]$ tiup mirror show https://tiup-mirrors.pingcap.com //本地mirror镜像仓库 [tidb@tidb52 ~]$ tiup mirror show /home/tidb/em-repo |
六. TiUP组件管理的常用命令?
以下列出常用的TiUP组件管理命令:
(1)查询组件列表
tiup list:查看当前有哪些组件可以安装
tiup list <component>:查看某个组件有哪些版本可以安装
注:--installed选项表示列出已安装组件;--all 选项显示隐藏组件
(2)安装组件
tiup install <component>:安装指定组件的最新稳定版
tiup install <component>:[version]:安装指定版本的指定组件
(3)升级组件
tiup update –all:升级所有组件
tiup update –self:升级tiup自己到最新版本
tiup update –nightly:升级到nightly版本
tiup update –force:强制升级到最新版本
(4)运行组件
tiup <component>:[version]:启动相应的组件
(5)查看组件运行状态
tiup status
(6)清理组件实例
tiup clean <component>
(7)卸载组件
tiup uninstall <component>:[version]