保姆级离线TiDB V8+解释
以前学习的时候还是3版本,如今已经是8版本了
https://cn.pingcap.com/product-community/?_gl=1ujh2l9_gcl_auMTI3MTI3NTM3NC4xNzM5MjU3ODE2_gaMTYwNzE2NTI4OC4xNzMzOTA1MjUz_ga_3JVXJ41175MTc0MTk1NTc1OC4xMS4xLjE3NDE5NTU3NjIuNTYuMC41NDk4MTMxNTM._ga_CPG2VW1Y41*MTc0MTk1NTc2MC4xMS4xLjE3NDE5NTU3NjMuMC4wLjA.
不过现在这个版本为长期支持版本 (Long-Term Support Release, LTS)那么就不用担心迭代太快的问题了。而且现在的安装应该比较友好(事实也是如此)一天安装了两套总结了一下过程。有些问题(主要是注释)在文档中没有解释,我来解释一下。

顺便说一下,我这里是麒麟的操作系统,TiDB这个是适配的。整个过程中没有因为操作系统的问题出现问题。
将这两个下载后上传到一台(注意是一台就够了,即使你的TiDB是满配置的十几台机器,只要上传一台剩下的交给TiUP)

第一步修改密码复杂度并创建用户
用vim修改/etc/pam.d/system-auth文件
找到 password requisite pam_cracklib.so这么一行替换成如下:
password requisite pam_cracklib.so retry=5 difok=3 minlen=10 ucredit=-1 lcredit=-3 dcredit=-3 dictpath=/usr/share/cracklib/pw_dict
之所以把这步加进来是因为免得复杂密码影响心情以及后续维护工作量增加。
useradd tidb
passwd tidb
创建tidb用户,并且设置密码。(现在知道上面那步的用意了吧)
(注意是一台就够了,即使你的TiDB是满配置的十几台机器,只要设置一台剩下的交给TiUP)
在操作系统命令行执行visudo
加入以下内容:
tidb ALL=(ALL) NOPASSWD: ALL
在主控机上生成密钥,为了和其他机器做免密登录
ssh-keygen -t rsa
执行复制发送密码(主控机自己给自己的IP也要发一遍)
ssh-copy-id root@10.60.143.154
ssh-copy-id root@10.60.143.155
ssh-copy-id root@10.60.143.156
第二步上传安装介质并解压执行命令
将下载完的
tidb-community-server-v8.5.1-linux-amd64.tar.gz
tidb-community-toolkit-v8.5.1-linux-amd64.tar.gz
上传到主控机(TiDB集群中的一台机器上,可以任意选择。我一般选择IP地址最靠前的那个)
在主控机上用root用户建立一个目录,我通常叫/setup。集中管理。
建立好以后要执行
chown tidb:tidb -R /setup
这是为了等下tidb用户可以在这个目录中大有可为。
将文件上传到这个目录一下。
su - tidb
在tidb用户下执行
tar -zxvf tidb-community-server-v8.5.1-linux-amd64.tar.gz
tar -zxvf tidb-community-toolkit-v8.5.1-linux-amd64.tar.gz
解压完成后。切换到tidb-community-server-v8.5.1-linux-amd64目录。
cd tidb-community-server-v8.5.1-linux-amd64
执行下面的命令,并且得到下面的结果。
sh local_install.sh
Disable telemetry success
Successfully set mirror to /setup/tidb-community-server-v8.5.1-linux-amd64
Detected shell: bash
Shell profile: /home/tidb/.bash_profile
/home/tidb/.bash_profile has been modified to to add tiup to PATH
open a new terminal or source /home/tidb/.bash_profile to use it
Installed path: /home/tidb/.tiup/bin/tiup
===============================================
- source /home/tidb/.bash_profile
- Have a try: tiup playground
===============================================
官方的工具也算是保姆级了,让用户执行一下上面的命令。
source /home/tidb/.bash_profile
不过我觉得是不是如果工具能顺便也做了就更好了。
第三步生成配置模版预安装
执行下面命令获得模板
tiup cluster template > topology.yaml
然后vim 这个yaml文件。里面主要是配置各个组件的地址。
这点上官方文档上倒是可以参考。
global:
user: “tidb”
ssh_port: 22
deploy_dir: “/tidb-deploy”
data_dir: “/tidb-data”
server_configs: {}
pd_servers:
- host: 10.0.1.4
- host: 10.0.1.5
- host: 10.0.1.6
tidb_servers: - host: 10.0.1.7
- host: 10.0.1.8
- host: 10.0.1.9
tikv_servers: - host: 10.0.1.1
- host: 10.0.1.2
- host: 10.0.1.3
monitoring_servers: - host: 10.0.1.4
grafana_servers: - host: 10.0.1.4
alertmanager_servers: - host: 10.0.1.4
每个host写自己的规划IP。如果这个组件只打算安装一个,那么就写一个地址。其他的注释掉。
如果注释不干净,在安装时候还有问题。所以推荐大家不用的就删除吧。
预安装检查
tiup cluster check /setup/tidb-community-server-v8.5.1-linux-amd64/topology.yaml --user tidb -p
然后让你输入tidb的密码
实际上这里user后面官网是root,其实也应该是root。他会给你创建tidb用户。
他会告诉你,还有哪些问题影响安装的。

看着有问题不用害怕。下面是一个亮点
tiup cluster check /setup/tidb-community-server-v8.5.1-linux-amd64/topology.yaml --apply --user tidb -p
执行这个命令后,遇到的问题tiup帮你修复,不用我们干预。这个就非常友好了。最后剩下numactl的错误无法修复但是不影响安装。
第四步 安装和测试
前面的准备工作做完了,就可以执行安装了。 注意deploy 后面一定是两个字符串,一个是集群名字(自定义) 还有一个是版本号。这是为了日后维护好。请如实填写。
tiup cluster deploy tidbtest v8.5.1 /setup/tidb-community-server-v8.5.1-linux-amd64/topology.yaml --user tidb -p
最后经过一些操作,出现了sccuess的字样说明安装成功。并且随机生成了一个管理员密码。相比较之前都是空密码登录,在安全上多了一步。

执行下面两个命令检查集群状况
tiup cluster list
tiup cluster display tidbtest

至此完成。找一个MySQL的客户端进行登录验证就可以了。
相关文章:
保姆级离线TiDB V8+解释
以前学习的时候还是3版本,如今已经是8版本了 https://cn.pingcap.com/product-community/?_gl1ujh2l9_gcl_auMTI3MTI3NTM3NC4xNzM5MjU3ODE2_gaMTYwNzE2NTI4OC4xNzMzOTA1MjUz_ga_3JVXJ41175MTc0MTk1NTc1OC4xMS4xLjE3NDE5NTU3NjIuNTYuMC41NDk4MTMxNTM._ga_CPG2VW1Y4…...
PyTorch 深度学习实战(17):Asynchronous Advantage Actor-Critic (A3C) 算法与并行训练
在上一篇文章中,我们深入探讨了 Soft Actor-Critic (SAC) 算法及其在平衡探索与利用方面的优势。本文将介绍强化学习领域的重要里程碑——Asynchronous Advantage Actor-Critic (A3C) 算法,并展示如何利用 PyTorch 实现并行化训练来加速学习过程。 一、A…...
【服务器知识】Nginx路由匹配规则说明
Nginx路由匹配规则说明 **一、Nginx路由匹配核心机制****二、匹配规则语法详解**1. **精确匹配 ()**2. **前缀匹配 (^~ 或 /)**3. **正则匹配 (~ 或 ~*)**4. **通配符匹配 (*)** **三、路由匹配优先级顺序****四、高级路由技巧**1. **条件判断 (if语句)**2. **路径重写 (rewrit…...
Docker换源加速(更换镜像源)详细教程(2025.3最新可用镜像,全网最详细)
文章目录 前言可用镜像源汇总换源方法1-临时换源换源方法2-永久换源(推荐)常见问题及对应解决方案1.换源后,可以成功pull,但是search会出错 补充1.如何测试镜像源是否可用2.Docker内的Linux换源教程 换源速通版(可以直…...
OpenAI--Agent SDK简介
项目概述 OpenAI Agents SDK 是一个轻量级但功能强大的框架,用于构建多智能体工作流。它主要利用大语言模型(LLM),通过配置智能体、交接、护栏和跟踪等功能,实现复杂的工作流管理。以下是对其各个部分运行过程和代码流…...
pytorch小记(十三):pytorch中`nn.ModuleList` 详解
pytorch小记(十三):pytorch中nn.ModuleList 详解 PyTorch 中的 nn.ModuleList 详解1. 什么是 nn.ModuleList?2. 为什么不直接使用普通的 Python 列表?3. nn.ModuleList 的基本用法示例:构建一个包含两层全连…...
SpringData Redis:RedisTemplate配置与数据操作
文章目录 引言一、Redis概述与环境准备二、RedisTemplate基础配置三、连接属性配置四、操作String类型数据五、操作Hash类型数据六、操作List类型数据七、操作Set类型数据八、操作ZSet类型数据九、事务与管道操作总结 引言 Redis作为高性能的NoSQL数据库,在分布式系…...
Qt按钮控件常用的API
1.创建按钮 QPushButton *btnnew QPushButton; 以顶层方式弹出窗口控件 代码: #include "widget.h" #include "ui_widget.h" #include"QPushButton"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui-&…...
如何检查CMS建站系统的插件是否安全?
检查好CMS建站系统的插件安全是确保网站安全的重要环节,对于常见的安全检查,大家可以利用以下几种有效的方法和工具,来帮你评估插件的安全性。 1. 检查插件来源和开发者信誉 选择可信来源:仅从官方插件库或可信的第三方开发者处…...
修改HuggingFace模型默认缓存路径
huggingface模型的默认缓存路径是~/.cache/huggingface/hub/ 通常修改为自己的路径会更为方便。 方式一:cache_dir 参数 可以通过from_pretrained函数中的 cache_dir 参数来指定,缺点,每次都需要手动指定,比较麻烦。 如&#x…...
ORA-12541: TNS:no listener
问题描述:使用 PL/SQL Developer 连接数据库时出现ORA-12541错误。 1.查询监听状态 [oraclelocalhost admin]$ lsnrctl statusLSNRCTL for Linux: Version 19.0.0.0.0 - Production on 15-MAR-2025 10:47:57Copyright (c) 1991, 2021, Oracle. All rights reserv…...
【Matlab GUI】封装matlab GUI为exe文件
注:封装后的exe还是需要有matlab环境才能运行 (1)安装MCRinstaller.exe文件,在matlab安装目录下的toolbox/compiler/deploy/win64文件夹里 (2)安装完MCRinstaller.exe,字命令窗口输入&#x…...
【eNSP实战】(续)一个AC多个VAP的实现—将隧道转发改成直接转发
在 一个AC多个VAP的实现—CAPWAP隧道转发 此篇文章配置的基础上,将隧道转发改成直接转发 一、改成直接转发需要改动的配置 (一)将连接AP的接口改成trunk口,并允许vlan100、101、102通过 [AC1]interface GigabitEthernet 0/0/8 …...
Redis能否替代MySQL作为主数据库?深入解析两者的持久化差异与适用边界——基于AOF持久化与关系型数据库的对比
一、Redis的持久化机制与可靠性分析 AOF持久化原理与策略 Redis的AOF(Append Only File)通过记录所有写操作命令实现持久化,支持三种策略: **always模式**:每条命令执行后立即同步到磁盘,理论上数据丢失…...
机器人ROS学习:Ubuntu22.04安装ROS2和Moveit2实现运动规划
通过本篇文章学习,你可以收获以下内容: 学会在 Ubuntu22.04 上安装 Moveit2学会下载编译运行 Moveit2 样例程序学会使用样例程序进行运动规划等 版本平台 系统版本:ubuntu22.04ROS2 版本:humbleMoveit 版本:moveit2…...
GIT标签(Tag)操作
在Git中,标签(Tag)用于标记特定的提交点,通常用于发布版本。 切换到需要打标签的分支: git checkout <branch-name>创建标签 git tag v1.0.0 git tag -a v1.0.0 -m "Release version 1.0.0"查看所…...
生成式AI红队测试:如何有效评估大语言模型
OWASP最新指南为组建生成式AI红队或调整现有红队以适应新技术提供了详细的指导。 红队测试是一种经过时间检验的网络安全系统测试和加固方法,但它需要不断适应技术的演变。近年来,生成式AI和大语言模型(LLM)的爆发,是…...
技术路线图ppt模板_流程图ppt图表_PPT架构图
技术路线图ppt模板 / 学术ppt模板 - 院士增选、国家科技奖、杰青、长江学者特聘教授、校企联聘教授、重点研发、优青、青长、青拔.. / 学术ppt案例 WordinPPT / 持续为双一流高校、科研院所、企业等提供PPT制作系统服务。 - 科学技术奖ppt:自然科学奖 | 技术…...
Leetcode-131.Palindrome Partitioning [C++][Java]
目录 一、题目描述 二、解题思路 【C】 【Java】 Leetcode-131.Palindrome Partitioninghttps://leetcode.com/problems/palindrome-partitioning/description/131. 分割回文串 - 力扣(LeetCode)131. 分割回文串 - 给你一个字符串 s,请你…...
LeetCode 解题思路 20(Hot 100)
解题思路: 递归定义对称性: 若两棵子树镜像对称,需满足: 当前节点值相等;左子树的左节点与右子树的右节点对称;左子树的右节点与右子树的左节点对称。 终止条件: 两个节点均为空 → 对称&am…...
挖矿------获取以太坊测试币
文章目录 挖矿------获取以太坊测试币通过水龙头获取以太坊测试币了解Sepolia是什么?水龙头(Faucet)是什么?Gitcoin Passport是什么? 操作1.MetaMask钱包2.将MetaMask切换到Sepolia测试网络3.用MetaMask连接Gitcoin Pa…...
每天五分钟深度学习框架pytorch:基于pytorch搭建循环神经网络RNN
本文重点 我们前面介绍了循环神经网络RNN,主要分析了它的维度信息,其实它的维度信息是最重要的,一旦我们把维度弄清楚了,一起就很简单了,本文我们正式的来学习一下,如何使用pytorch搭建循环神经网络RNN。 RNN的搭建 在pytorch中我们使用nn.RNN()就可以创建出RNN神经网络…...
XEasyWork:面向AI应用的可视化工作流开发平台
文章目录 前言 一、平台核心价值 1.1产品定位 1.2 技术优势 二、技术架构解析 2.1战略级整合 自主开发模块 2.2集成开源项目 三、体验地址 三、未来规划 总结 前言 在人工智能技术快速落地的今天,开发者在构建AI应用时仍面临两大挑战:技术栈复杂带来的高…...
C#进阶(多线程相关)
1。进程? 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,【是系统进行资源分配的基本单位】,是操作系统结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体…...
【C++】:C++11详解 —— 右值引用
目录 左值和右值 左值的概念 右值的概念 左值 vs 右值 左值引用 和 右值引用 左值引用 右值引用 左值引用 vs 右值引用 使用场景 左值引用的使用场景 左值引用的短板 右值引用的使用场景 1. 实现移动语义(资源高效转移) 2. 优化容器操作&a…...
【css酷炫效果】纯CSS实现虫洞穿越效果
【css酷炫效果】纯CSS实现穿越效果 缘创作背景html结构css样式完整代码基础版进阶版(虫洞穿越) 效果图 想直接拿走的老板,链接放在这里:https://download.csdn.net/download/u011561335/90491973 缘 创作随缘,不定时…...
Linux IP 配置
Linux IP 配置 1 环境介绍2 网卡信息配置3 使用nmtui工具配置4 更多Linux命令学习使用列表 1 环境介绍 虚拟机,服务器安装系统完成后,先要配置ip 地址,这样可以方便远程若是物理服务器一般会有4个网卡信息麒麟v10,CentOS7&#x…...
设计模式之装饰器模式:原理、实现与应用
引言 装饰器模式(Decorator Pattern)是一种结构型设计模式,它允许你通过将对象放入包含行为的特殊封装对象中来为原对象动态添加新的行为。装饰器模式提供了一种灵活的替代方案,避免了通过继承扩展功能的局限性。本文将深入探讨装…...
c语言笔记 结构体基础
目录 基础知识 结构体定义 基础知识 在c语言中变量是有类型的,比如整型,char型,浮点型等,这些都是单一的类型,那么如果说我要定义一个学生的信息,那么这些单一的类型是不足以表达一个学生的全部信息&#…...
Vue 登录 记住密码,设置存储时间
Vue 登录 记住密码,设置存储时间 一、手动存储login.vue 二、使用vue-cookies插件main.jslogin.vue 一、手动存储 login.vue 提示: // 设置cookie方法 setCookie(loginName, password, days) {let text encryptDes(password, des123)//使用des方法加…...
