tidb数据库3主机分布式集群docker-compose离线部署
#3台机器每台部署1pd1tikv1tidb共3pd3tikv3tidb#外加nginx负载均衡单节点dockers-compose部署#tidb的3台机器192.168.1.41192.168.1.42192.168.1.43#nginx单节点192.168.1.24#首先自行初始化服务器关闭防火墙、SElinux、设置时间同步等云服务器可以直接开始部署#部署docker和dockers-compose本次选择docker-27.3.1和docker-compose-2.29.7#下载地址https://download.docker.com/linux/static/stable/x86_64/#上传docker-27.3.1.tgz到/opt下cd /opt tar -xvf docker-27.3.1.tgz#复制所有解压出来的文件进/usr/bincp /opt/docker/* /usr/bin/vim /etc/systemd/system/docker.service #复制写入下述配置 [Unit] DescriptionDocker Application Container Engine Documentationhttps://docs.docker.com Afternetwork-online.target firewalld.service Wantsnetwork-online.target [Service] Typenotify ExecStart/usr/bin/dockerd ExecReload/bin/kill -s HUP $MAINPID LimitNOFILEinfinity LimitNPROCinfinity TimeoutStartSec0 Delegateyes KillModeprocess Restarton-failure StartLimitBurst3 StartLimitInterval60s [Install] WantedBymulti-user.target#完成写入配置后给予权限chmod x /etc/systemd/system/docker.servicesystemctl daemon-reload#启动并设置开机自启dockersystemctl enable docker --now#清除安装文件rm -rf /opt/docker#下载docker-compose下载地址https://github.com/docker/compose/releases#下滑选择所需版本Assets点击下拉菜单根据系统和cpu架构选择下载直接下载二进制文件#linux系统x86架构本次选择下载docker-compose-linux-x86_64#上传docker-compose-linux-x86_64到/opt下cd /opt/ mv docker-compose-linux-x86_64 /usr/local/bin/docker-composechmod x /usr/local/bin/docker-composeln -s /usr/local/bin/docker-compose /usr/bin/docker-compose#设置docker下拉镜像加速 vim /etc/docker/daemon.json #写入多条加速配置 { registry-mirrors: [ https://docker.211678.top, https://docker.1panel.live, https://hub.rat.dev, https://docker.m.daocloud.io, https://do.nark.eu.org, https://dockerpull.com, https://dockerproxy.cn, https://docker.awsl9527.cn ] } #保存生效配置systemctl daemon-reloadsystemctl restart docker#docker部署完成#tidb的dockers镜像下载本次选择v8.1.2版本#离线环境需要先在有互联网环境的docker机器上先下载镜像再上传至离线环境 docker pull pingcap/tikv:v8.1.2 docker pull pingcap/tidb:v8.1.2 docker pull pingcap/pd:v8.1.2 #本地保存镜像 docker save pingcap/tikv:v8.1.2 /opt/tikv.tar docker save pingcap/tidb:v8.1.2 /opt/tidb.tar docker save pingcap/pd:v8.1.2 /opt/pd.tar #上传三个包到414243节点的/opt下,在每个节点执行加载镜像 docker load /opt/tikv.tar docker load /opt/tidb.tar docker load /opt/pd#docker-compose部署tidb192.168.1.41节点mkdir -p /opt/tidb vim /opt/tidb/docker-compose-41.yml #写入配置 version: 2.1 services: pd1: image: pingcap/pd:v8.1.2 ports: - 2379:2379 - 2380:2380 volumes: - /data/tidb:/data - /data/tidblogs:/logs command: - --namepd1 - --client-urlshttp://0.0.0.0:2379 - --peer-urlshttp://0.0.0.0:2380 - --advertise-client-urlshttp://192.168.1.41:2379 - --advertise-peer-urlshttp://192.168.1.41:2380 - --initial-clusterpd1http://192.168.1.41:2380,pd2http://192.168.1.42:2380,pd3http://192.168.1.43:2380 - --data-dir/data/pd1 - --log-file/logs/pd1.log restart: on-failure tikv1: image: pingcap/tikv:v8.1.2 ports: - 20160:20160 volumes: - /data/tidb:/data - /data/tidblogs:/logs command: - --addr0.0.0.0:20160 - --advertise-addr192.168.1.41:20160 - --data-dir/data/tikv1 - --pd192.168.1.41:2379,192.168.1.42:2379,192.168.1.43:2379 - --log-file/logs/tikv1.log depends_on: - pd1 restart: on-failure tidb1: image: pingcap/tidb:v8.1.2 ports: - 4000:4000 - 10080:10080 volumes: - /data/tidblogs:/logs command: - --storetikv - --path192.168.1.41:2379,192.168.1.42:2379,192.168.1.43:2379 - --log-file/logs/tidb.log - --advertise-addresstidb depends_on: - tikv1 restart: on-failure#docker-compose部署tidb192.168.1.42节点mkdir -p /opt/tidb vim /opt/tidb/docker-compose-42.yml #写入配置 version: 2.1 services: pd2: image: pingcap/pd:v8.1.2 ports: - 2379:2379 - 2380:2380 volumes: - /data/tidb:/data - /data/tidblogs:/logs command: - --namepd2 - --client-urlshttp://0.0.0.0:2379 - --peer-urlshttp://0.0.0.0:2380 - --advertise-client-urlshttp://192.168.1.42:2379 - --advertise-peer-urlshttp://192.168.1.42:2380 - --initial-clusterpd1http://192.168.1.41:2380,pd2http://192.168.1.42:2380,pd3http://192.168.1.43:2380 - --data-dir/data/pd2 - --log-file/logs/pd2.log restart: on-failure tikv2: image: pingcap/tikv:v8.1.2 ports: - 20160:20160 volumes: - /data/tidb:/data - /data/tidblogs:/logs command: - --addr0.0.0.0:20160 - --advertise-addr192.168.1.42:20160 - --data-dir/data/tikv2 - --pd192.168.1.41:2379,192.168.1.42:2379,192.168.1.43:2379 - --log-file/logs/tikv2.log depends_on: - pd2 restart: on-failure tidb2: image: pingcap/tidb:v8.1.2 ports: - 4000:4000 - 10080:10080 volumes: - /data/tidblogs:/logs command: - --storetikv - --path192.168.1.41:2379,192.168.1.42:2379,192.168.1.43:2379 - --log-file/logs/tidb.log - --advertise-addresstidb depends_on: - tikv2 restart: on-failure#docker-compose部署tidb192.168.1.43节点mkdir -p /opt/tidb vim /opt/tidb/docker-compose-43.yml #写入配置 version: 2.1 services: pd3: image: pingcap/pd:v8.1.2 ports: - 2379:2379 - 2380:2380 volumes: - /data/tidb:/data - /data/tidblogs:/logs command: - --namepd3 - --client-urlshttp://0.0.0.0:2379 - --peer-urlshttp://0.0.0.0:2380 - --advertise-client-urlshttp://192.168.1.43:2379 - --advertise-peer-urlshttp://192.168.1.43:2380 - --initial-clusterpd1http://192.168.1.41:2380,pd2http://192.168.1.42:2380,pd3http://192.168.1.43:2380 - --data-dir/data/pd3 - --log-file/logs/pd3.log restart: on-failure tikv3: image: pingcap/tikv:v8.1.2 ports: - 20160:20160 volumes: - /data/tidb:/data - /data/tidblogs:/logs command: - --addr0.0.0.0:20160 - --advertise-addr192.168.1.43:20160 - --data-dir/data/tikv3 - --pd192.168.1.41:2379,192.168.1.42:2379,192.168.1.43:2379 - --log-file/logs/tikv3.log depends_on: - pd3 restart: on-failure tidb3: image: pingcap/tidb:v8.1.2 ports: - 4000:4000 - 10080:10080 volumes: - /data/tidblogs:/logs command: - --storetikv - --path192.168.1.41:2379,192.168.1.42:2379,192.168.1.43:2379 - --log-file/logs/tidb.log - --advertise-addresstidb depends_on: - tikv3 restart: on-failure#所有节点保存后完成所有节点编排配置#41节点启动 docker-compose -f /opt/tidb/docker-compose-41.yml up -d #42节点启动 docker-compose -f /opt/tidb/docker-compose-42.yml up -d #43节点启动 docker-compose -f /opt/tidb/docker-compose-43.yml up -d#使用MySQL客户端登录任意部署了pd的节点都可以,只要用户有权限mysql -u root -P 4000 -h 192.168.1.41 #改密码设远程权限 SET PASSWORD FOR root% Diablo2025; FLUSH PRIVILEGES;#使用docker-compose部署nginx设置tidb负载均衡#在192.168.1.24节点上同样部署docker和docker-compose#先互联网docker环境下载nginx镜像 docker pull nginx:stable-alpine3.21-perl #保存nginx镜像保存 docker save nginx:stable-alpine3.21-perl /opt/nginx.tar #离线环境192.168.1.24节点上传nginx镜像包到/opt下 docker load /opt/nginx.tar #创建一个nginx配置文件和docker-compose文件的放置目录 mkdir /opt/tidb-proxy#配置nginx做tidb的负载均衡vim /opt/tidb-proxy/tidb-proxy.conf upstream tidb-proxy { server 192.168.1.41:4000 weight1; server 192.168.1.42:4000 weight1; server 192.168.1.43:4000 weight1; } server { listen 4000; server_name _; location / { proxy_pass http://tidb-proxy; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_connect_timeout 300s; proxy_read_timeout 300s; proxy_send_timeout 300s; # 支持 HTTP 1.1TiDB 推荐 proxy_http_version 1.1; proxy_set_header Connection ; } }#配置编排docker-compose文件vim /opt/tidb-proxy/docker-compose-tidb-proxy.yml version: 5 services: tidb-proxy-service: image: nginx:stable-alpine3.21-perl container_name: tidb-proxy ports: - 4000:4000 volumes: - /opt/tidb-proxy/tidb-proxy.conf:/etc/nginx/conf.d/tidb-proxy.conf #启动负载均衡 docker-compose -f /opt/tidb-proxy/tidb-proxy.conf up -d #mysql客户端通过负载均衡器登陆测试 mysql -u root -P 4000 -h 192.168.1.24 -pDiablo2025’

相关新闻

旧款Mac免费升级最新macOS:OpenCore Legacy Patcher保姆级实战指南

旧款Mac免费升级最新macOS:OpenCore Legacy Patcher保姆级实战指南

旧款Mac免费升级最新macOS:OpenCore Legacy Patcher保姆级实战指南 【免费下载链接】OpenCore-Legacy-Patcher Experience macOS just like before 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 如果你手头还有一台2012年左右…

2026/8/16 20:08:40 阅读更多 →
编程竞赛必备资源:Programming Resources项目中的竞赛指南与技巧

编程竞赛必备资源:Programming Resources项目中的竞赛指南与技巧

编程竞赛必备资源:Programming Resources项目中的竞赛指南与技巧 【免费下载链接】programming-resources Collection of resources for programmers! 项目地址: https://gitcode.com/gh_mirrors/pr/programming-resources Programming Resources项目是一个为…

2026/8/15 16:12:53 阅读更多 →
让浏览器秒变 Markdown 专业阅读器:Markdown Viewer 完整安装与使用指南

让浏览器秒变 Markdown 专业阅读器:Markdown Viewer 完整安装与使用指南

让浏览器秒变 Markdown 专业阅读器:Markdown Viewer 完整安装与使用指南 【免费下载链接】markdown-viewer Markdown Viewer / Browser Extension 项目地址: https://gitcode.com/gh_mirrors/ma/markdown-viewer 先做一个思想实验:你从网盘下载了…

2026/8/16 20:07:15 阅读更多 →

最新新闻

5分钟快速上手BeetleX.FastHttpApi:从零搭建你的第一个Web API服务

5分钟快速上手BeetleX.FastHttpApi:从零搭建你的第一个Web API服务

5分钟快速上手BeetleX.FastHttpApi:从零搭建你的第一个Web API服务 【免费下载链接】FastHttpApi a lightweight and high-performance http/websocket service component in the dotnet core platform that supports TLS. 项目地址: https://gitcode.com/gh_mirr…

2026/8/16 21:00:41 阅读更多 →
从OpenClaw到MCP:构建企业级AI智能体的工程化实践与自动化测试

从OpenClaw到MCP:构建企业级AI智能体的工程化实践与自动化测试

1. 项目概述:从“薪资焦虑”到“价值锚点”的实践路径 “实践一下这些项目和技术,薪资30不为过吧”——这个标题背后,是无数技术从业者面对市场变化时最真实的焦虑与渴望。它不是一个简单的疑问句,而是一个行动纲领的起点。当我们…

2026/8/16 21:00:41 阅读更多 →
基于OpenClaw框架构建AI Agent:中医方剂与龙虾处理双技能开发实战

基于OpenClaw框架构建AI Agent:中医方剂与龙虾处理双技能开发实战

1. 项目概述:当AI遇上中医与龙虾 最近在捣鼓一个挺有意思的项目,灵感来源于一个看似不搭边的组合:一边是处理龙虾这种需要精细操作的物理任务,另一边则是构建一个能理解并应用中医方剂知识的AI技能。这听起来有点“跨界”&#xf…

2026/8/16 21:00:41 阅读更多 →
Go Walker 运维监控实战:Prometheus 指标全解读与性能调优指南

Go Walker 运维监控实战:Prometheus 指标全解读与性能调优指南

Go Walker 运维监控实战:Prometheus 指标全解读与性能调优指南 【免费下载链接】gowalker Go Walker is a server that generates Go projects API documentation on the fly. 项目地址: https://gitcode.com/gh_mirrors/go/gowalker Go Walker 是一个能够按…

2026/8/16 21:00:41 阅读更多 →
AJAX Solr快速上手:10步搭建你的第一个Solr搜索界面

AJAX Solr快速上手:10步搭建你的第一个Solr搜索界面

AJAX Solr快速上手:10步搭建你的第一个Solr搜索界面 【免费下载链接】ajax-solr A JavaScript framework for creating user interfaces to Solr. 项目地址: https://gitcode.com/gh_mirrors/aj/ajax-solr 想给 Apache Solr 做一个搜索界面,却不想…

2026/8/16 21:00:41 阅读更多 →
构建个人知识管理系统:从PARA方法到Obsidian实践

构建个人知识管理系统:从PARA方法到Obsidian实践

1. 项目概述:从网络热词到个人效率系统的深度解构最近“脑子”这个词在网络上又火了起来,不是指生理器官,而是成了一种略带自嘲和共鸣的流行语。大家常说“我的脑子呢?”、“今天没带脑子出门”,用来形容那种注意力涣散…

2026/8/16 20:59:40 阅读更多 →

日新闻

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

如果你是一名开发者,最近可能已经感受到了AI大模型正在从“玩具”变成“生产力工具”的强烈信号。从代码补全到智能Agent,从本地部署到云端API,我们正处在一个技术栈快速重构的节点。然而,面对层出不穷的模型、框架和工具&#xf…

2026/8/16 0:00:54 阅读更多 →
工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

第四篇:反射——高频能量撞墙之后会发生什么? —— 你以为信号已经过去了,其实它正在回来打你 老Q的现场笔记 第五季,我们正式进入工业神经系统层。这里不再是单个设备的战斗,而是整个工厂“经脉”层面的秩序之战。从这一篇开始,你将第一次看清:看似简单的信号传播,背…

2026/8/16 0:00:55 阅读更多 →
【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

2026/8/16 0:03:55 阅读更多 →

周新闻

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

如果你是一名开发者,最近可能已经感受到了AI大模型正在从“玩具”变成“生产力工具”的强烈信号。从代码补全到智能Agent,从本地部署到云端API,我们正处在一个技术栈快速重构的节点。然而,面对层出不穷的模型、框架和工具&#xf…

2026/8/16 0:00:54 阅读更多 →
工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

第四篇:反射——高频能量撞墙之后会发生什么? —— 你以为信号已经过去了,其实它正在回来打你 老Q的现场笔记 第五季,我们正式进入工业神经系统层。这里不再是单个设备的战斗,而是整个工厂“经脉”层面的秩序之战。从这一篇开始,你将第一次看清:看似简单的信号传播,背…

2026/8/16 0:00:55 阅读更多 →
【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

2026/8/16 0:03:55 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/16 6:00:23 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/16 6:00:24 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/16 6:00:27 阅读更多 →