- 关于 TiDB
- 快速上手
- 部署标准集群
- 数据迁移
- 运维操作
- 监控与告警
- 故障诊断
- 性能调优
- 系统调优
- 软件调优
- SQL 性能调优
- SQL 性能调优概览
- 理解 TiDB 执行计划
- SQL 优化流程
- 控制执行计划
- 教程
- TiDB 工具
- 功能概览
- 适用场景
- 工具下载
- TiUP
- TiDB Operator
- Dumpling
- TiDB Lightning
- TiDB Data Migration
- Backup & Restore (BR)
- TiDB Binlog
- TiCDC
- sync-diff-inspector
- TiSpark
- 参考指南
- 架构
- 监控指标
- 安全加固
- 权限
- SQL
- SQL 语言结构和语法
- SQL 语句
ADD COLUMN
ADD INDEX
ADMIN
ADMIN CANCEL DDL
ADMIN CHECKSUM TABLE
ADMIN CHECK [TABLE|INDEX]
ADMIN SHOW DDL [JOBS|QUERIES]
ADMIN SHOW TELEMETRY
ALTER DATABASE
ALTER INDEX
ALTER INSTANCE
ALTER PLACEMENT POLICY
ALTER TABLE
ALTER USER
ANALYZE TABLE
BACKUP
BEGIN
CHANGE COLUMN
CHANGE DRAINER
CHANGE PUMP
COMMIT
CREATE [GLOBAL|SESSION] BINDING
CREATE DATABASE
CREATE INDEX
CREATE PLACEMENT POLICY
CREATE ROLE
CREATE SEQUENCE
CREATE TABLE LIKE
CREATE TABLE
CREATE USER
CREATE VIEW
DEALLOCATE
DELETE
DESC
DESCRIBE
DO
DROP [GLOBAL|SESSION] BINDING
DROP COLUMN
DROP DATABASE
DROP INDEX
DROP PLACEMENT POLICY
DROP ROLE
DROP SEQUENCE
DROP STATS
DROP TABLE
DROP USER
DROP VIEW
EXECUTE
EXPLAIN ANALYZE
EXPLAIN
FLASHBACK TABLE
FLUSH PRIVILEGES
FLUSH STATUS
FLUSH TABLES
GRANT <privileges>
GRANT <role>
INSERT
KILL [TIDB]
LOAD DATA
LOAD STATS
MODIFY COLUMN
PREPARE
RECOVER TABLE
RENAME INDEX
RENAME TABLE
REPLACE
RESTORE
REVOKE <privileges>
REVOKE <role>
ROLLBACK
SELECT
SET DEFAULT ROLE
SET [NAMES|CHARACTER SET]
SET PASSWORD
SET ROLE
SET TRANSACTION
SET [GLOBAL|SESSION] <variable>
SHOW [BACKUPS|RESTORES]
SHOW ANALYZE STATUS
SHOW [GLOBAL|SESSION] BINDINGS
SHOW BUILTINS
SHOW CHARACTER SET
SHOW COLLATION
SHOW [FULL] COLUMNS FROM
SHOW CONFIG
SHOW CREATE PLACEMENT POLICY
SHOW CREATE SEQUENCE
SHOW CREATE TABLE
SHOW CREATE USER
SHOW DATABASES
SHOW DRAINER STATUS
SHOW ENGINES
SHOW ERRORS
SHOW [FULL] FIELDS FROM
SHOW GRANTS
SHOW INDEX [FROM|IN]
SHOW INDEXES [FROM|IN]
SHOW KEYS [FROM|IN]
SHOW MASTER STATUS
SHOW PLACEMENT
SHOW PLACEMENT FOR
SHOW PLACEMENT LABELS
SHOW PLUGINS
SHOW PRIVILEGES
SHOW [FULL] PROCESSSLIST
SHOW PROFILES
SHOW PUMP STATUS
SHOW SCHEMAS
SHOW STATS_HEALTHY
SHOW STATS_HISTOGRAMS
SHOW STATS_META
SHOW STATUS
SHOW TABLE NEXT_ROW_ID
SHOW TABLE REGIONS
SHOW TABLE STATUS
SHOW [FULL] TABLES
SHOW [GLOBAL|SESSION] VARIABLES
SHOW WARNINGS
SHUTDOWN
SPLIT REGION
START TRANSACTION
TABLE
TRACE
TRUNCATE
UPDATE
USE
WITH
- 数据类型
- 函数与操作符
- 聚簇索引
- 约束
- 生成列
- SQL 模式
- 表属性
- 事务
- 垃圾回收 (GC)
- 视图
- 分区表
- 临时表
- 字符集和排序规则
- Placement Rules in SQL
- 系统表
mysql
- INFORMATION_SCHEMA
- Overview
ANALYZE_STATUS
CLIENT_ERRORS_SUMMARY_BY_HOST
CLIENT_ERRORS_SUMMARY_BY_USER
CLIENT_ERRORS_SUMMARY_GLOBAL
CHARACTER_SETS
CLUSTER_CONFIG
CLUSTER_HARDWARE
CLUSTER_INFO
CLUSTER_LOAD
CLUSTER_LOG
CLUSTER_SYSTEMINFO
COLLATIONS
COLLATION_CHARACTER_SET_APPLICABILITY
COLUMNS
DATA_LOCK_WAITS
DDL_JOBS
DEADLOCKS
ENGINES
INSPECTION_RESULT
INSPECTION_RULES
INSPECTION_SUMMARY
KEY_COLUMN_USAGE
METRICS_SUMMARY
METRICS_TABLES
PARTITIONS
PLACEMENT_RULES
PROCESSLIST
REFERENTIAL_CONSTRAINTS
SCHEMATA
SEQUENCES
SESSION_VARIABLES
SLOW_QUERY
STATISTICS
TABLES
TABLE_CONSTRAINTS
TABLE_STORAGE_STATS
TIDB_HOT_REGIONS
TIDB_INDEXES
TIDB_SERVERS_INFO
TIDB_TRX
TIFLASH_REPLICA
TIKV_REGION_PEERS
TIKV_REGION_STATUS
TIKV_STORE_STATUS
USER_PRIVILEGES
VIEWS
METRICS_SCHEMA
- UI
- CLI
- 命令行参数
- 配置文件参数
- 系统变量
- 存储引擎
- 遥测
- 错误码
- 通过拓扑 label 进行副本调度
- 常见问题解答 (FAQ)
- 版本发布历史
- 术语表
TiUP 故障排查
本文介绍 TiUP 使用过程中一些常见的故障及排查方式,如果本文不包含你目前遇到的问题,可以通过以下方式求助:
- Github Issues 新建一个 Issue。
- 在 AskTUG 提交你的问题。
1. TiUP 命令故障排查
1.1 使用 tiup list
看不到最新的组件列表
TiUP 并不会每次都从镜像服务器更新最新的组件列表,可以通过 tiup list
来强制刷新组件列表。
1.2 使用 tiup list <component>
看不到一个组件的最新版本信息
同 1.1 一样,组件的版本信息只会在本地无缓存的情况下从镜像服务器获取,可以通过 tiup list <component>
刷新组件列表。
1.3 下载组件的过程中中断
如果下载组件的过程中网络中断,可能是由于网络不稳定导致的,可以尝试重新下载,如果多次不能成功下载,请反馈到 Github Issues,可能是由于 CDN 服务器导致的。
1.4 下载组件过程中出现 checksum 错误
由于 CDN 会有短暂的缓存时间,导致新的 checksum 文件和组件包不匹配,建议过 5 分钟后重试,如果依然不匹配,请反馈到 Github Issues。
2. TiUP Cluster 组件故障排查
2.1 部署过程中提示 unable to authenticate, attempted methods [none publickey]
由于部署时会向远程主机上传组件包,以及进行初始化,这个过程需要连接到远程主机,该错误是由于找不到连接到远程主机的 SSH 私钥导致的。请确认你是否通过 tiup cluster deploy -i identity_file
指定该私钥。
- 如果没有指定
-i
参数,可能是由于 TiUP 没有自动找到私钥路径,建议通过-i
显式指定私钥路径。 - 如果指定了
-i
参数,可能是由于指定的私钥不能登录,可以通过手动执行ssh -i identity_file user@remote
命令来验证。 - 如果是通过密码登录远程主机,请确保指定了
-p
参数,同时输入了正确的登录密码。
2.2 使用 TiUP Cluster 升级中断
为了避免用户误用,TiUP Cluster 不支持指定部分节点升级,所以升级失败之后,需要重新进行升级操作,包括升级过程中的幂等操作。
升级操作会分为以下几步:
- 首先备份所有节点的老版本组件
- 分发新的组件到远程
- 滚动重启所有组件
如果升级操作在滚动重启时中断,可以不用重复进行 tiup cluster upgrade
操作,而是通过 tiup cluster restart -N <node1> -N <node2>
来重启未完成重启的节点。如果同一组件的未重启节点数量比较多,也可以通过 tiup cluster restart -R <component>
来重启某一个类型的组件。
2.3 升级发现 node_exporter-9100.service/blackbox_exporter-9115.service
不存在
这种情况可能是由于之前的集群是由 TiDB Ansible 迁移过来的,且之前 TiDB Ansible 未部署 exporter 导致的。要解决这种情况,可以暂时通过手动从其他节点复制缺少的文件到新的节点。后续我们会在迁移过程中补全缺失的组件。