作者: 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中间的配套工具还是很全面的。再次提醒大伙,升级前一定要检查版本升级路径;实际生产环境还是非常复杂的,大家也一定要备份数据防止意外事件发生。