对于技术小白来说,分布式数据库 TiDB 的部署听起来很复杂,但只要用对工具(TiUP),全程复制命令就能完成,不用懂复杂的分布式原理,不用手动配置依赖。
本文专门为技术小白定制,全程 step by step,每一步都说明“做什么”“为什么做”“复制哪个命令”,适配 CentOS 7.6+ 系统(最常用、最容易操作),测试环境部署,学会后可直接用于学习和小场景验证。
一、前置说明
l 操作前提:拥有一台 CentOS 7.6+ 服务器(虚拟机、云服务器均可),确保能访问外网(用于下载软件)。
l 操作权限:全程用 root 用户 操作(避免权限不足报错,小白不用纠结,登录时直接选 root 即可)。
l 硬件要求:最低 2 核 4G 内存、20G 空闲磁盘(云服务器选这个配置足够,虚拟机也按这个配置设置)。
l 核心工具:TiUP(TiDB 官方工具,一键搞定下载、部署、启动,不用手动装其他组件)。
二、前期准备(3步搞定,先搭好环境)
这一步是为了关闭系统的“拦截功能”,安装必要的小工具,避免后续部署报错,全程复制命令执行即可。
Step 1:关闭防火墙(避免拦截 TiDB 端口)
Linux 防火墙会拦截 TiDB 相关端口,导致部署失败,直接执行以下 2 条命令关闭并禁用(永久生效):
systemctl stop firewalld
systemctl disable firewalld
执行后没有报错,就说明防火墙关好了。
Step 2:关闭 SELinux(避免权限拦截)
SELinux 是系统安全组件,会限制软件运行,执行以下 2 条命令关闭(临时+永久):
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
同样,没有报错就是成功。
Step 3:安装基础依赖(TiUP 需要这些小工具)
TiUP 下载和部署时,需要用到 wget、curl 等工具,执行一条命令安装所有依赖:
yum install -y wget curl openssh-server perl net-tools
执行后会自动下载安装,出现“Complete!”就说明安装完成。
三、安装 TiUP 工具(核心步骤,1条命令搞定)
TiUP 是官方集群管理工具,安装非常简单,直接复制下面这条命令,粘贴到服务器执行:
curl --proto '=https' --tlsv1.2 -sSf https://tiup-mirrors.pingcap.com/install.sh | sh
等待 1-2 分钟,出现“Successfully installed TiUP”就说明 TiUP 安装成功。
补充:设置环境变量(必做,否则找不到 tiup 命令)
安装完成后,执行以下命令,让系统识别 tiup 命令(立即生效):
source /root/.bash_profile
验证是否生效:执行 tiup --version,出现版本号(比如 tiup version 1.14.0),就说明没问题。
四、部署 TiDB 集群(一键部署)
我们部署“1个TiDB节点+1个TiKV节点+1个PD节点”的最小测试集群(适合小白学习,资源占用少,部署快),分3步走,全程复制命令。
Step 1:安装 TiUP Cluster 组件
TiUP Cluster 是管理 TiDB 集群的核心组件,首次执行以下命令,会自动下载安装:
tiup cluster
等待下载完成,出现“Usage: tiup cluster <command> [options]”就说明安装成功。
Step 2:生成集群配置文件(不用手动写,自动生成)
配置文件是集群的“说明书”,TiUP 可以自动生成模板,我们只需要简单修改1处即可,执行以下命令生成配置文件:
tiup cluster template > /root/tidb-cluster.yaml
生成后,执行以下命令编辑配置文件(修改服务器IP):
vi /root/tidb-cluster.yaml
操作步骤
1. 按键盘上的 i 键,进入编辑模式(左下角会显示“INSERT”);
2. 找到“host: "10.0.0.1"”这一行,把“10.0.0.1”改成你服务器的 内网IP(查看内网IP的命令:ip addr,找“inet”后面的地址,比如 192.168.1.100);
3. 按键盘上的 Esc 键,然后输入 :wq(冒号+wq),按回车保存并退出。
提示:其他内容不用改,默认即可,改完IP就完成配置。
Step 3:一键部署 TiDB 集群
先查看当前支持的 TiDB 稳定版本(本文用 v7.5.0 为例,可直接用这个版本,稳定不踩坑):
tiup list tidb
执行部署命令(集群名自定义,这里用“tidb-test”,好记):
tiup cluster deploy tidb-test v7.5.0 /root/tidb-cluster.yaml --user root -p
执行后,按以下提示操作:
① 提示“Enter password for root@你的IP”:输入服务器 root 密码(输入时不显示,输完按回车);
② 提示“Do you want to continue? (y/N)”:输入 y,按回车确认;
③ 等待部署(约 3-5 分钟,取决于网速,屏幕会滚动很多内容,耐心等,别中断)。
出现“Deployed cluster `tidb-test` successfully”,就说明部署成功!
五、启动 TiDB 集群(1条命令,启动成功就能用)
部署完成后,执行以下命令启动集群(集群名“tidb-test”要和部署时一致):
tiup cluster start tidb-test
等待 1-2 分钟,出现“Started cluster `tidb-test` successfully”,就是启动成功。
验证集群是否正常(确认集群能正常使用)
执行以下命令,查看集群节点状态:
tiup cluster display tidb-test
如果看到 3 个节点的“Status”都是“Up”,就说明集群正常运行(TiDB、TiKV、PD 三个节点,缺一不可)。
六、简易操作(连接数据库,简单上手)
TiDB 兼容 MySQL 协议,我们用 MySQL 客户端连接,不用学新语法,小白也能快速上手。
Step 1:安装 MySQL 客户端(1条命令)
yum install -y mysql
出现“Complete!”就是安装成功。
Step 2:连接 TiDB 数据库
执行以下命令(替换成你的服务器内网IP):
mysql -h 192.168.1.100 -P 4000 -u root
说明:默认 root 用户无密码,直接按回车,出现“mysql>”提示符,就说明连接成功!
Step 3:简单操作(复制命令执行,感受 TiDB)
1. 创建数据库(给数据库起个名字,比如 my_db)
CREATE DATABASE my_db;
2. 使用这个数据库
USE my_db;
3. 创建一张表(比如存储用户信息)
CREATE TABLE user (
id INT PRIMARY KEY,
name VARCHAR(50),
age INT
);
4. 插入一条数据
INSERT INTO user VALUES (1, '小白', 20);
5. 查询数据(看看插入的内容)
SELECT * FROM user;
6. 退出连接(不想操作了就退出)
EXIT;
每执行一条命令,出现“Query OK”就说明操作成功,小白可以多试几次,熟悉一下。
七、常见问题(遇到报错不用慌,看这里)
7.1报错:“permission denied”(权限不足)?
解决办法:确保全程用 root 用户操作,执行 su - root 切换到 root 即可。
7.2报错:“Can't connect to MySQL server”(连接不上数据库)?
解决办法:
① 确认集群已启动(执行 tiup cluster start tidb-test);
② ② 确认防火墙已关闭(执行 systemctl status firewalld,显示“inactive”就是关闭)。
7.3部署时下载速度慢?
解决办法:确保服务器能正常访问外网,耐心等待,不要中断命令,实在太慢可以换个时间段重试。
7.4启动集群后,节点 Status 是 Down?
解决办法:执行 tiup cluster logs tidb-test -N 你的IP:4000 查看日志,大概率是端口被占用,执行 netstat -tulnp | grep 4000 找到占用端口的进程,关闭该进程后重新启动集群。