简单三步完成离线升级TIDB v7.1(服务器无互联网环境)

news/2024/5/19 14:50:54 标签: tidb

作者: bert 原文来源: https://tidb.net/blog/e35af409

离线升级使用场景

我们知道,大多数公司的生产服务器的安全策略都不太允许连接互联网。加上TIDB的版本更新迭代非常快,默认适用升级需要连接互联网下载升级包部署。因此在此背景下,本文将介绍如果在无互联环境下的TIDB数据库升级方法。简单步骤,三部完成。

提示:本文适合有一定经验的TiDB管理员使用,真正的DB升级前期需要大量检查、测试及验证过程,切不可贸然行事。另外详细的步骤请参考官方文档: https://docs.pingcap.com/zh/tidb/stable/upgrade-tidb-using-tiup

TIUP升级工具支持以下升级路径:

  • 使用 TiUP 从 TiDB 4.0 版本升级至 TiDB 7.1。
  • 使用 TiUP 从 TiDB 5.0-5.4 版本升级至 TiDB 7.1。
  • 使用 TiUP 从 TiDB 6.0-6.6 版本升级至 TiDB 7.1。
  • 使用 TiUP 从 TiDB 7.0 版本升级至 TiDB 7.1。

第一步,备份数据库

数据库守则第一条 -> 备份。

道路千万条,备份第一条。DBA行走江湖,第一准则,万事先备份。

  • br备份数据库 br backup full -s local:///br_data --pd ${PD_ADDR}:2379 --log-file backup.log --concurrency 16
  • br恢复数据库 br restore full -s local:///br_data --pd ${PD_ADDR}:2379 --log-file restore-concurrency.log --concurrency 16

第二步,升级前准备工作

通常需要先进行一些前置工作,获取最新的TIDB离线安装包。

  • 获取最新TIDB安装包: 访问 TiUP 官网( https://cn.pingcap.com/product-community),下载最新TIDB离线安装包。
  • 将下载好的离线安装包复制到本地计算机中。
  • 打开终端或命令行界面,进入到TiDB安装包的目录中。 解压离线安装包:unzip tidb-community-server-v7.1.0-linux-amd64 进入解压后的目录:cd tidb-community-server-v7.1.0-linux-amd64
  • 设置tiup的mirror源为本地 tiup mirror show tiup mirror set "/root/tidb-community-server-v7.1.0-linux-amd64"
  • 检查是否有正在运行的DDL (等待其执行完毕或CANCEL掉) admin show ddl
  • 在升级过程中,不支持使用以下工具,建议等待运行完成或关闭 BR/DM/TiCDC

第三步,升级TIDB (在线/离线升级可选)

  • 检查集群 tiup cluster check --cluster <cluster-name>
  • 在线升级 tiup cluster upgrade v7.1.0
  • 离线(停库)升级 tiup cluster stop tiup cluster upgrade v7.1.0 --offline
  • 查看升级后的集群状态 tiup cluster list tiup cluster display -- 检查升级是否成功
  • 恢复tiup的mirror源为互联网(可选) tiup mirror set https://tiup-mirrors.pingcap.com

总结

简单三步就可以完成TIDB的离线升级(无互联网环境),可见TIUP这个工具集成度相当高,tidb中间的配套工具还是很全面的。再次提醒大伙,升级前一定要检查版本升级路径;实际生产环境还是非常复杂的,大家也一定要备份数据防止意外事件发生。


http://www.niftyadmin.cn/n/1008754.html

相关文章

【Flask】SQLAlchemy

文章目录 SQLAlchemy是什么为什么使用orm定义安装组成部分SQLAlchemy本身无法操作数据库&#xff0c;其必须以来pymsql等第三方插件 SQLAlchemy的使用原生sql使用orm映射数据表 外键关系一对多(ForeignKey)多对多 使用orm操作记录简单表操作基于scoped_session实现线程安全 CRU…

TCP的三次握手,四次挥手

1.TCP协议介绍 传输控制协议&#xff08;TCP&#xff0c;Transmission Control Protocol&#xff09;是一种面向连接的、可靠的、基于字节流的传输层通信协议&#xff0c;是为了在不可靠的互联网络上提供可靠的端到端字节流而专门设计的一个传输协议。由IETF的RFC 793 [1] 定义…

【linux】一些linux系统下的常用命令(本地使用、远程服务器连接常用)

一些linux常用命令 linux 常用命令打开某个文件夹查看某个目录的所有内容复制文件命令移动命令创建文件夹删除文件或目录当前目录创建文件找文件/文件夹查看目录或文件夹大小更改文件或目录权限查看文件内容之vim查看之前输入的命令行下载某个东西到某个位置解压缩查看CPU占用情…

OpenCV(加载、修改、保存图像)

目录 1、图像加载 2、显示图像 3、修改图像 4、图像保存 OpenCV官方文档查询地址&#xff1a;OpenCV: OpenCV modules 1、图像加载 加载图像&#xff08;用cv::imread )imread功能是加载图像文件成为一个Mat对象&#xff0c;其中第一个参数表示图像文件名称 第二个参数&…

【Android 常见问题(一)】- HashMap ConcurrentHashMap

谈谈你理解的 HashMap&#xff0c;讲讲其中的 get put 过程。 1.8 做了什么优化&#xff1f; 是线程安全的嘛&#xff1f; 不安全会导致哪些问题&#xff1f; 如何解决&#xff1f;有没有线程安全的并发容器&#xff1f; ConcurrentHashMap 是如何实现的&#xff1f; 1.7、1.8 …

数据结构--队列的基本概念

数据结构–队列的基本概念 队列的定义 队列其实是一种受限制的线性表 队列(Queue)&#xff1a;是 只允许在一端进行插入或删除操作 \color{red}只允许在一端进行插入或删除操作 只允许在一端进行插入或删除操作的线性表 重要术语: 队头、队尾、空队列 队列的特点: 先进先出 \…

Spring第三讲:SpringAOP面向切面编程

五、Spring AOP 5、1什么是AOP AOP&#xff08;Aspect Orient Programming&#xff09;,面向切面编程&#xff0c;AOP 是一种编程思想&#xff0c;是面向对象编程&#xff08;OOP&#xff09;的一种补充。面向切面编程&#xff0c;实现在不修改源代码的情况下给程序动态统一添…

PolarDB MySQL版DDL操作获取MDL锁失败

阿里云 执行DDL操作提示“获取不到MDL锁”阿里云 防止只读节点上长事务阻塞DDL操作阿里云 查看DDL执行状态和MDL锁状态 背景 今日早晨7点多&#xff0c;收到PolarDB数据库CPU 99%的电话告警。 通过数据库监控&#xff0c;发现存在一批慢SQL&#xff08;hang住了&#xff09;&…