服务器TiDB教程:单机快速部署与集群搭建入门
TiDB 是 PingCAP 开源的分布式关系型数据库,兼容 MySQL 协议,适合需要水平扩展和高可用的业务场景。
在服务器上部署 TiDB 主要有两条路径:单机快速体验和最小生产集群。
下面按零基础可操作的方式,把两条路径都讲清楚。
部署前的环境与账号准备
不管哪种方式,先确认服务器满足基本条件。
TiDB 官方推荐生产环境使用多台独立机器,单机体验则要求内存不低于 8GB、磁盘剩余空间不少于 50GB。
操作系统建议使用 CentOS 7 或 Ubuntu 20.04 以上,关闭 swap 并配置好时间同步:
sudo swapoff -a
sudo sed -i '/swap/s/^/#/' /etc/fstab
timedatectl set-ntp true
还需要准备一个普通用户用于部署,不建议全程用 root 操作。
如果服务器有防火墙,提前放行 TiDB 默认端口:4000(MySQL 协议)、10080(状态)、2379 和 2380(PD 通信)。
单机快速体验:用 TiUP Playground 跑起来
TiUP 是 TiDB 的包管理工具,Playground 组件可以在单台机器上拉起一个完整的临时集群,适合学习和功能验证。
第一步,安装 TiUP:
curl --proto '=https' --tlsv1.2 -sSf https://tiup-mirrors.pingcap.com/install.sh | sh
source ~/.bashrc
tiup --version
第二步,启动本地集群:
tiup playground
命令执行后会输出连接地址,默认监听 127.0.0.1:4000。
另开一个终端用 MySQL 客户端连接验证:
mysql -h 127.0.0.1 -P 4000 -u root
能进入 mysql> 提示符并执行 select version(); 返回 TiDB 版本,就说明单机环境已经可用。
Playground 进程退出后数据默认不保留,仅用于测试。
最小生产集群:用 TiUP Cluster 正式部署
生产环境需要用 TiUP Cluster 组件,按拓扑文件在多台机器上分配角色。
至少准备 3 台服务器,分别承担 PD、TiKV 和 TiDB 角色,避免单点。
先安装 cluster 组件:
tiup install cluster
tiup cluster --version
生成拓扑模板并修改:
tiup cluster template > topology.yaml
编辑 topology.yaml,把默认的 IP 替换成实际服务器地址,至少保留三个 PD 节点、三个 TiKV 节点和一个 TiDB 节点。
关键片段示例:
pd_servers:
- host: 10.0.0.11
- host: 10.0.0.12
- host: 10.0.0.13
tikv_servers:
- host: 10.0.0.21
- host: 10.0.0.22
- host: 10.0.0.23
tidb_servers:
- host: 10.0.0.31
配置好 SSH 免密登录后执行部署:
tiup cluster deploy tidb-prod v7.5.0 topology.yaml -u tidb --ssh systemctl
tiup cluster start tidb-prod
版本号请以 TiUP 仓库当前可用版本为准,不要照搬固定数字。
部署完成后用以下命令检查集群状态:
tiup cluster display tidb-prod
tiup cluster health tidb-prod
所有组件显示 Up,健康检查无异常,再用 MySQL 客户端连接任意 TiDB 节点验证读写。
常见报错与避坑要点
SSH 免密失败:部署前用 ssh-copy-id 把公钥分发到所有节点,确保 tidb 用户能免密登录。
端口被占用:检查 4000、2379、20160 等端口是否被其他服务占用,用 ss -tlnp 确认。
磁盘空间不足:TiKV 对磁盘 I/O 敏感,建议使用 SSD,并预留足够空间,避免部署中途失败。
时间不同步:节点时间偏差过大会导致 PD 选举异常,部署前务必确认 NTP 正常。
防火墙拦截:集群内部通信端口未放行会导致组件无法互相发现,部署前统一检查安全组和本机防火墙规则。
部署后的验证与日常检查
部署完成不等于万事大吉,建议做几项基础验证:连接 TiDB 执行建库建表并写入一条数据,确认读写正常;
用 tiup cluster display 观察各组件状态;
查看 PD 面板或 pd-ctl 确认集群健康。
日常巡检重点关注 TiKV 的磁盘使用率和 PD 的 leader 分布,出现异常先看日志目录下的错误信息,再对照官方文档排查。
如果只是学习或开发测试,单机 Playground 足够;
如果要上生产,务必按最小集群方式部署,并提前规划备份和监控。
遇到环境差异时,优先回看避坑部分的端口、时间和磁盘检查项。