TiDB 是 PingCAP 推出的开源分布式 NewSQL 数据库,兼具 MySQL 兼容性和分布式扩展性,适合中小业务快速落地或个人学习测试。本文将带大家用 TiUP(TiDB 官方部署工具) 快速搭建单节点 / 本地测试集群,所有命令均可直接复制执行,新手也能轻松上手。
一、环境准备(必看!)
1. 操作系统与硬件要求
- 推荐系统:CentOS 7.6+ / Ubuntu 20.04+(本文以 CentOS 7 为例)
- 最小配置:2 核 4G 内存,20G 空闲磁盘(生产环境需更高配置,本文为测试环境)
- 网络:确保服务器能访问外网(用于下载 TiDB 组件)
2. 前置操作:关闭防火墙与 SELinux
避免因端口拦截导致部署失败,执行以下命令关闭相关限制:
bash
# 1. 关闭并禁用防火墙(CentOS)
systemctl stop firewalld
systemctl disable firewalld
# 2. 临时关闭SELinux(立即生效)
setenforce 0
# 3. 永久关闭SELinux(重启后生效,避免后续麻烦)
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
3. 安装依赖包
TiUP 依赖 wget
、curl
等工具,提前安装:
bash
# CentOS 系统
yum install -y wget curl openssh-server perl net-tools
# Ubuntu 系统(若用Ubuntu,执行此命令)
# apt update && apt install -y wget curl openssh-server perl net-tools
二、安装 TiUP(TiDB 部署工具)
TiUP 是 TiDB 4.0+ 版本的官方部署工具,能一键管理集群的部署、启动、停止等操作,先完成安装:
bash
# 1. 下载并安装 TiUP(国内环境推荐用这个命令,速度更快)
curl --proto '=https' --tlsv1.2 -sSf https://tiup-mirrors.pingcap.com/install.sh | sh
# 2. 设置环境变量(让系统识别 tiup 命令,执行后立即生效)
source /root/.bash_profile
# 3. 验证 TiUP 安装成功(出现版本号即正常)
tiup --version
执行成功后,会显示类似 tiup version 1.14.0 tiup
的输出。
三、快速部署 TiDB 测试集群
本文部署 1 个 TiDB 节点 + 1 个 TiKV 节点 + 1 个 PD 节点 的最小测试集群(适合学习和小场景验证)。
1. 生成集群配置文件
先通过 TiUP 生成默认配置模板,再简单修改即可使用:
bash
# 生成配置文件到 /root/tidb-cluster.yaml(路径可自定义)
tiup cluster template > /root/tidb-cluster.yaml
2. 修改配置文件(关键!)
用 vi
编辑配置文件,只需改 3 处核心信息(新手按步骤来,别乱改其他内容):
bash
vi /root/tidb-cluster.yaml
打开文件后,找到以下内容并修改(按 i
进入编辑模式):
user: "tidb"
:保持默认(TiUP 会自动创建该用户)host: "10.0.0.1"
:改为你服务器的 内网 IP(用ifconfig
或ip addr
查看,比如192.168.1.100
)deploy_dir: "/tidb-deploy"
和data_dir: "/tidb-data"
:保持默认路径,或改为你有空闲空间的路径(如/data/tidb-deploy
)
修改后按 Esc
,输入 :wq
保存退出。
3. 执行部署命令
用 TiUP 一键部署集群,集群名自定义(本文用 tidb-test
):
bash
# 部署集群:--user root 表示用 root 用户执行,-p 会提示输入 root 密码
tiup cluster deploy tidb-test v7.5.0 /root/tidb-cluster.yaml --user root -p
执行后会出现以下交互,按提示操作:
- 输入服务器
root
密码(输入时不显示,输完按回车); - 提示 “Do you want to continue? [y/N]”,输入
y
确认; - 等待组件下载和部署(约 3-5 分钟,取决于网速)。
4. 启动 TiDB 集群
部署完成后,启动集群:
bash
# 启动集群(集群名 tidb-test 要和部署时一致)
tiup cluster start tidb-test
启动成功后,会显示 Started cluster
tidb-test successfully
。
四、验证部署:确认集群正常运行
1. 查看集群状态
bash
# 查看集群节点状态(所有节点 Status 为 Up 即正常)
tiup cluster display tidb-test
正常输出会包含以下节点信息(Status 均为 Up):
tidb
:TiDB 服务节点(默认端口 4000)tikv
:TiKV 存储节点(默认端口 20160)pd
:PD 调度节点(默认端口 2379)
2. 连接 TiDB 数据库
TiDB 兼容 MySQL 协议,可直接用 mysql
客户端连接(若没安装 mysql
,先执行 yum install -y mysql
安装):
bash
# 连接 TiDB:-h 是你服务器的IP,-P 4000 是 TiDB 默认端口,root 无密码(测试环境)
mysql -h 192.168.1.100 -P 4000 -u root
连接成功后,会进入 TiDB 交互界面(mysql>
提示符),执行简单 SQL 测试:
sql
-- 1. 查看 TiDB 版本
select version();
-- 2. 创建测试数据库
create database test_db;
-- 3. 使用测试数据库
use test_db;
-- 4. 创建测试表
create table user (id int, name varchar(50));
-- 5. 插入数据
insert into user values (1, 'tidb-test');
-- 6. 查询数据(能查到结果即正常)
select * from user;
执行后若能正常返回数据,说明 TiDB 部署成功!
五、常用集群操作(收藏备用)
部署后后续管理集群,用以下命令即可:
bash
# 1. 停止集群
tiup cluster stop tidb-test
# 2. 重启集群
tiup cluster restart tidb-test
# 3. 查看集群日志(比如查看 TiDB 节点日志,定位问题用)
tiup cluster logs tidb-test -N tidb-192.168.1.100:4000
# 4. 销毁集群(测试完成后清理,谨慎执行!)
tiup cluster destroy tidb-test
六、注意事项(新手避坑)
- 生产环境不建议单节点:本文是测试集群,生产环境需部署 3 个 PD + 3 个 TiKV + 2 个 TiDB 节点(保证高可用);
- 端口开放:若需远程连接 TiDB,需开放 4000(TiDB)、2379(PD)端口(生产环境用防火墙策略限制 IP,不要直接关闭防火墙);
- 数据备份:测试环境可忽略,生产环境需用
tiup br
工具定期备份数据; - 版本选择:本文用 v7.5.0(稳定版),如需其他版本,可执行
tiup list tidb
查看所有可用版本。
通过以上步骤,10 分钟内就能搭建好 TiDB 测试环境,适合新手快速体验分布式数据库的特性。如果需要部署生产级集群,可参考 TiDB 官方文档调整节点数量和资源配置~