- 关于 TiDB
- 主要概念
- 操作指南
- 快速上手
- 部署
- 配置
- 安全
- 安全传输层协议 (TLS)
- 生成自签名证书
- 监控
- 迁移
- 运维
- 扩容缩容
- 升级
- 故障诊断
- 参考手册
- SQL
- 与 MySQL 兼容性对比
- SQL 语言结构
- 数据类型
- 函数与操作符
- SQL 语句
ADD COLUMN
ADD INDEX
ADMIN
ADMIN CANCEL DDL
ADMIN CHECKSUM TABLE
ADMIN CHECK [TABLE|INDEX]
ADMIN SHOW DDL [JOBS|QUERIES]
ALTER DATABASE
ALTER TABLE
ALTER USER
ANALYZE TABLE
BEGIN
CHANGE COLUMN
COMMIT
CREATE DATABASE
CREATE INDEX
CREATE TABLE LIKE
CREATE TABLE
CREATE USER
DEALLOCATE
DELETE
DESC
DESCRIBE
DO
DROP COLUMN
DROP DATABASE
DROP INDEX
DROP TABLE
DROP USER
EXECUTE
EXPLAIN ANALYZE
EXPLAIN
FLUSH PRIVILEGES
FLUSH STATUS
FLUSH TABLES
GRANT <privileges>
INSERT
KILL [TIDB]
LOAD DATA
LOAD STATS
MODIFY COLUMN
PREPARE
RENAME INDEX
RENAME TABLE
REPLACE
REVOKE <privileges>
ROLLBACK
SELECT
SET [NAMES|CHARACTER SET]
SET PASSWORD
SET TRANSACTION
SET [GLOBAL|SESSION] <variable>
SHOW CHARACTER SET
SHOW COLLATION
SHOW [FULL] COLUMNS FROM
SHOW CREATE TABLE
SHOW DATABASES
SHOW ENGINES
SHOW ERRORS
SHOW [FULL] FIELDS FROM
SHOW GRANTS
SHOW INDEXES [FROM|IN]
SHOW INDEX [FROM|IN]
SHOW KEYS [FROM|IN]
SHOW PRIVILEGES
SHOW [FULL] PROCESSSLIST
SHOW SCHEMAS
SHOW STATUS
SHOW [FULL] TABLES
SHOW TABLE STATUS
SHOW [GLOBAL|SESSION] VARIABLES
SHOW WARNINGS
START TRANSACTION
TRACE
TRUNCATE
UPDATE
USE
- 约束
- 生成列
- 字符集
- 配置
- tidb-server
- pd-server
- tikv-server
- 安全
- 事务
- 系统数据库
- 错误码
- 支持的连接器和 API
- 垃圾回收 (GC)
- 性能调优
- 监控指标
- 报警规则
- 最佳实践
- TiSpark 使用指南
- TiDB Binlog
- 周边工具
- 常见问题 (FAQ)
- 技术支持
- 贡献
- 版本发布历史
- 术语表
你正在查看 TiDB 数据库的较旧版本 (TiDB v2.1) 的文档。
离线 TiDB Ansible 部署方案
准备机器
下载机一台
- 该机器需开放外网访问,用于下载 TiDB Ansible、TiDB 及相关软件安装包。
- 推荐安装 CentOS 7.3 及以上版本 Linux 操作系统。
部署目标机器若干及部署中控机一台
- 系统要求及配置参考准备机器。
- 可以无法访问外网。
在中控机上安装系统依赖包
在下载机上下载系统依赖离线安装包,然后上传至中控机。该离线包仅支持 CentOS 7 系统,包含
pip
及sshpass
。在中控机上安装系统依赖包:
tar -xzvf ansible-system-rpms.el7.tar.gz && cd ansible-system-rpms.el7 && chmod u+x install_ansible_system_rpms.sh && ./install_ansible_system_rpms.sh
安装完成后,可通过
pip -V
验证 pip 是否安装成功:pip -V
pip 8.1.2 from /usr/lib/python2.7/site-packages (python 2.7)
如果你的系统已安装 pip,请确认版本 >= 8.1.2,否则离线安装 TiDB Ansible 及其依赖时,会有兼容问题。
在中控机上创建 tidb 用户,并生成 ssh key
参考在中控机上创建 tidb 用户,并生成 ssh key 即可。
在中控机器上离线安装 TiDB Ansible 及其依赖
以下是 CentOS 7 系统 Ansible 离线安装方式:
建议使用 Ansible 2.4 至 2.7.11 版本,Ansible 及相关依赖版本记录在 tidb-ansible/requirements.txt
文件中。下面步骤以安装 Ansible 2.5 为例。
在下载机上下载 Ansible 2.5 离线安装包,然后上传至中控机。
离线安装 TiDB Ansible 及相关依赖:
tar -xzvf ansible-2.5.0-pip.tar.gz && cd ansible-2.5.0-pip/ && chmod u+x install_ansible.sh && ./install_ansible.sh
安装完成后,可通过
ansible --version
查看版本:ansible --version
ansible 2.5.0
在下载机上下载 TiDB Ansible 及 TiDB 安装包
以下为 TiDB Ansible 与 TiDB 的版本对应关系,版本选择可以咨询官方。
TiDB 版本 | tidb-ansible tag | 备注 |
---|---|---|
2.0 版本 | v2.0.10、v2.0.11 | 2.0 稳定版本,新用户不建议用于生产环境 |
2.1 版本 | v2.1.x | 2.1 稳定版本,可用于生产环境 |
在下载机上安装 TiDB Ansible:
请按以下方式在 CentOS 7 系统的下载机上在线安装 TiDB Ansible。安装完成后,可通过
ansible --version
查看版本,请务必确认是 Ansible 2.5.0 版本,否则会有兼容问题。yum install epel-release && yum install ansible curl && ansible --version
ansible 2.5.0
下载 tidb-ansible:
使用以下命令从 TiDB Ansible 项目上下载 TiDB Ansible 2.0 或者 2.1 相应 TAG 版本,默认的文件夹名称为
tidb-ansible
。git clone -b $tag https://github.com/pingcap/tidb-ansible.git
注意- 将
$tag
替换为选定的 TAG 版本的值,例如v2.1.15
。 - 部署和升级 TiDB 集群需使用对应的 tidb-ansible 版本,通过改
inventory.ini
文件中的版本来混用可能会产生一些错误。
- 将
执行
local_prepare.yml
playbook,联网下载 TiDB binary 到下载机:cd tidb-ansible && ansible-playbook local_prepare.yml
将执行完以上命令之后的
tidb-ansible
文件夹拷贝到中控机/home/tidb
目录下,文件属主权限需是tidb
用户。
在中控机上配置部署机器 ssh 互信及 sudo 规则
参考在中控机上配置部署机器 ssh 互信及 sudo 规则即可。
在部署目标机器上安装 NTP 服务
如果你的部署目标机器时间、时区设置一致,已开启 NTP 服务且在正常同步时间,此步骤可忽略,可参考如何检测 NTP 服务是否正常。
参考在部署目标机器上安装 NTP 服务即可。
在部署目标机器上配置 CPUfreq 调节器模式
在部署目标机器上添加数据盘 ext4 文件系统挂载参数
参考在部署目标机器上添加数据盘 ext4 文件系统挂载参数即可。
分配机器资源,编辑 inventory.ini 文件
参考分配机器资源,编辑 inventory.ini 文件即可。
部署任务
ansible-playbook local_prepare.yml
该 playbook 不需要再执行。Grafana Dashboard 上的 Report 按钮可用来生成 PDF 文件,此功能依赖
fontconfig
包及英文字体,如需使用该功能,请下载 font 离线安装包上传至 grafana_servers 机器上安装。该离线包仅支持 CentOS 7 系统,包含fontconfig
及open-sans-fonts
。tar -xzvf grafana-font-rpms.el7.tar.gz && cd grafana-font-rpms.el7 && chmod u+x install_grafana_font_rpms.sh && ./install_grafana_font_rpms.sh
参考部署任务即可。
测试集群
参考测试集群即可。