tidb数据库升级

数据库版本

  • tidb7.6.0 升级到 tidb8.5.0

集群整体架构

IP地址系统版本备注
192.168.222.150centos7.9原tidb7.6集群
192.168.222.151centos7.9原tidb7.6集群
192.168.222.152centos7.9原tidb7.6集群
192.168.222.153centos8.3扩容资源,升级到tidb8.5以后的主集群
192.168.222.154centos8.3扩容资源,升级到tidb8.5以后的主集群
192.168.222.155centos8.3扩容资源,升级到tidb8.5以后的主集群

设置 SSH 免密登录

  • 192.168.222.150 主机上执行集群部署,扩容,缩容等

设置密钥

ssh-keygen -t rsa -b 4096

分发公钥到所有目标节点

for i in {0..5};do echo $i;ssh-copy-id root@192.168.222.15$i ;done

tidb 安装

安装 TiUP:

curl --proto '=https' --tlsv1.2 -sSf https://tiup-mirrors.pingcap.com/install.sh | sh

设置环境变量:

source /root/.bash_profile

更新 TiUP:

tiup update --self
tiup update cluster

部署 TiDB 集群

  • 初始化配置文件:
tiup cluster template > topology.yaml

# 创建新的配置文件
[root@localhost tidb]# cat tidb-cluster.yaml 
global:
  user: "tidb"
  ssh_port: 22
  deploy_dir: "/data/tidb/tidbdeploy"
  data_dir: "/data/tidb//tidbdata"
pd_servers:
  - host: 192.168.222.152
tidb_servers:
  - host: 192.168.222.150
tikv_servers:
  - host: 192.168.222.150
  - host: 192.168.222.151
  - host: 192.168.222.152
monitoring_servers:
  - host: 192.168.222.151
grafana_servers:
  - host: 192.168.222.151

部署集群:

# 查看tidb版本
[root@localhost tidb]# tiup list tidb

# 部署
tiup cluster deploy tidb-cluster v7.6.0 tidb-cluster.yaml -u root

#  卸载集群
# tiup cluster destroy tidb-cluster

启动集群:

tiup cluster start tidb-cluster --init
# tiup cluster start tidb-cluster

查看集群状态:

tiup cluster display tidb-cluster

更改root密码

/home/data/mysql-8.0.30-el7-x86_64/bin/mysql -h 192.168.222.150 -P 4000 -u root -p'D-*^Jaz4@u13X59Z2b'

ALTER USER 'root'@'%' IDENTIFIED BY '123456';

部署了什么集群

tiup cluster list

集群进行扩容

PD 扩容

[root@iZt4necvvu7hu3t950mf3cZ tidb]# cat pd_scale_out_file.yaml
global:
  user: "root"
  ssh_port: 22
  deploy_dir: "/data/tidb/tidbdeploy"
  data_dir: "/data/tidb/tidbdata"
  arch: "amd64"
  os: "linux"
    
pd_servers:
  - host: 192.168.222.155
    ssh_port: 22
    name: pd
    client_port: 2379
    peer_port: 2380
    deploy_dir: /data/tidb/tidbdeploy/pd-2379
    data_dir: /data/tidb/tidbdata/pd-2379
    log_dir: /data/tidb/tidbdeploy/pd-2379/log
    
 # 进行扩容
 # tiup cluster scale-out tidb-cluster pd_scale_out_file.yaml -u root

tidb server 扩容

[root@iZt4necvvu7hu3t950mf3cZ tidb]# cat tidbserver_scale_out_file.yaml
global:
  user: "root"
  ssh_port: 22
  deploy_dir: "/data/tidb/tidbdeploy"
  data_dir: "/data/tidb/tidbdata"
  arch: "amd64"
  os: "linux"
    
tidb_servers:
  - host: 192.168.222.153
    ssh_port: 22
    port: 4000
    status_port: 10080
    deploy_dir: /data/tidb/tidbdeploy/tidb-4000
    log_dir: /data/tidb/tidbdeploy/tidb-4000/log

 # 进行扩容
 # tiup cluster scale-out tidb-cluster tidbserver_scale_out_file.yaml -u root
    

tikv 扩容

[root@iZt4necvvu7hu3t950mf3cZ tidb]# cat tikv_scale_out_file.yaml
global:
  user: "root"
  ssh_port: 22
  deploy_dir: "/data/tidb/tidbdeploy"
  data_dir: "/data/tidb/tidbdata"
  arch: "amd64"
  os: "linux"

tikv_servers:
  - host: 192.168.222.153
    ssh_port: 22
    port: 20160
    status_port: 20180
    deploy_dir: "/data/tidb/tidbdeploy/tikv-20160"
    data_dir: "/data/tidb/tidbdata/tikv-20160"
    log_dir: "/data/tidb/tidbdeploy/tikv-20160/log"
    arch: "amd64"
    os: "linux"

  - host: 192.168.222.154
    ssh_port: 22
    port: 20160
    status_port: 20180
    deploy_dir: "/data/tidb/tidbdeploy/tikv-20160"
    data_dir: "/data/tidb/tidbdata/tikv-20160"
    log_dir: "/data/tidb/tidbdeploy/tikv-20160/log"
    arch: "amd64"
    os: "linux"

  - host: 192.168.222.155
    ssh_port: 22
    port: 20160
    status_port: 20180
    deploy_dir: "/data/tidb/tidbdeploy/tikv-20160"
    data_dir: "/data/tidb/tidbdata/tikv-20160"
    log_dir: "/data/tidb/tidbdeploy/tikv-20160/log"
    arch: "amd64"
    os: "linux"
    
 # 进行扩容
 # tiup cluster scale-out tidb-cluster tikv_scale_out_file.yaml -u root
    

grafana 扩容

[root@iZt4necvvu7hu3t950mf3cZ tidb]# cat grafana_scale_out_file.yaml
global:
  user: "root"
  ssh_port: 22
  deploy_dir: "/data/tidb/tidbdeploy"
  data_dir: "/data/tidb/tidbdata"
  arch: "amd64"
  os: "linux"

grafana_servers:
  - host: 192.168.222.154
    ssh_port: 22
    port: 3000
    deploy_dir: "/data/tidb/tidbdeploy/grafana-3000"
    arch: "amd64"
    os: "linux"

 # 进行扩容
 # tiup cluster scale-out tidb-cluster grafana_scale_out_file.yaml -u root
    

prometheus 扩容

[root@iZt4necvvu7hu3t950mf3cZ tidb]# cat prometheus_scale_out_file.yaml
global:
  user: "tidb"
  ssh_port: 22
  deploy_dir: "/data/tidb/tidbdeploy"
  data_dir: "/data/tidb//tidbdata"
monitoring_servers:
  - host: 192.168.222.154

 # 进行扩容
 # tiup cluster scale-out tidb-cluster prometheus_scale_out_file.yaml -u root

集群进行缩容

集群整体情况

[root@localhost tidb]# sh -x statu-cat-tidb.sh 
+ /root/.tiup/bin/tiup cluster display tidb-cluster
Cluster type:       tidb
Cluster name:       tidb-cluster
Cluster version:    v7.6.0
Deploy user:        tidb
SSH type:           builtin
Dashboard URL:      http://192.168.222.152:2379/dashboard
Grafana URL:        http://192.168.222.151:3000,http://192.168.222.154:3000
ID                     Role        Host             Ports        OS/Arch       Status  Data Dir                             Deploy Dir
--                     ----        ----             -----        -------       ------  --------                             ----------
192.168.222.151:3000   grafana     192.168.222.151  3000         linux/x86_64  Up      -                                    /data/tidb/tidbdeploy/grafana-3000
192.168.222.154:3000   grafana     192.168.222.154  3000         linux/x86_64  Up      -                                    /data/tidb/tidbdeploy/grafana-3000
192.168.222.152:2379   pd          192.168.222.152  2379/2380    linux/x86_64  Up|UI   /data/tidb/tidbdata/pd-2379          /data/tidb/tidbdeploy/pd-2379
192.168.222.155:2379   pd          192.168.222.155  2379/2380    linux/x86_64  Up|L    /data/tidb/tidbdata/pd-2379          /data/tidb/tidbdeploy/pd-2379
192.168.222.151:9090   prometheus  192.168.222.151  9090/12020   linux/x86_64  Up      /data/tidb/tidbdata/prometheus-9090  /data/tidb/tidbdeploy/prometheus-9090
192.168.222.150:4000   tidb        192.168.222.150  4000/10080   linux/x86_64  Up      -                                    /data/tidb/tidbdeploy/tidb-4000
192.168.222.153:4000   tidb        192.168.222.153  4000/10080   linux/x86_64  Up      -                                    /data/tidb/tidbdeploy/tidb-4000
192.168.222.150:20160  tikv        192.168.222.150  20160/20180  linux/x86_64  Up      /data/tidb/tidbdata/tikv-20160       /data/tidb/tidbdeploy/tikv-20160
192.168.222.151:20160  tikv        192.168.222.151  20160/20180  linux/x86_64  Up      /data/tidb/tidbdata/tikv-20160       /data/tidb/tidbdeploy/tikv-20160
192.168.222.152:20160  tikv        192.168.222.152  20160/20180  linux/x86_64  Up      /data/tidb/tidbdata/tikv-20160       /data/tidb/tidbdeploy/tikv-20160
192.168.222.153:20160  tikv        192.168.222.153  20160/20180  linux/x86_64  Up      /data/tidb/tidbdata/tikv-20161       /data/tidb/tidbdeploy/tikv-20161
192.168.222.154:20161  tikv        192.168.222.154  20161/20181  linux/x86_64  Up      /data/tidb/tidbdata/tikv-20162       /data/tidb/tidbdeploy/tikv-20162
192.168.222.155:20162  tikv        192.168.222.155  20162/20182  linux/x86_64  Up      /data/tidb/tidbdata/tikv-20163       /data/tidb/tidbdeploy/tikv-20163
Total nodes: 13

集群进行缩容

tiup cluster scale-in tidb-cluster --node=192.168.222.150:4000
tiup cluster scale-in tidb-cluster --node=192.168.222.150:20160

tiup cluster scale-in tidb-cluster --node=192.168.222.151:3000
tiup cluster scale-in tidb-cluster --node=192.168.222.151:9090
tiup cluster scale-in tidb-cluster --node=192.168.222.151:20160

tiup cluster scale-in tidb-cluster --node=192.168.222.152:2379
tiup cluster scale-in tidb-cluster --node=192.168.222.152:20160

清理节点

tiup cluster prune tidb-cluster

迁移集群管理软件

[root@localhost ~]# scp -r .tiup root@192.168.222.153:/root/

集群进行升级操作

  • 192.168.222.153 主机上操作升级

配置tiup命令

echo 'export PATH=$PATH:/root/.tiup/bin' >> ~/.bashrc
source ~/.bashrc

升级 TiUP

tiup update --self

更新集群配置文件

# 若是没有,可以不用修改
tiup cluster edit-config tidb-cluster
# 在打开的配置文件中,修改 tidb 部分的版本为 v8.5.0。

执行升级

tiup cluster upgrade tidb-cluster v8.5.0

验证升级

tiup cluster display tidb-cluster
### TiDB 数据库快速安装教程 #### 准备工作 为了确保顺利部署 TiDB 测试集群,在开始之前需完成一系列准备工作。这包括确认操作系统的兼容性和网络配置情况。 - **检查系统版本** 使用命令 `uname -a` 或者查阅发行版特定文件(如 `/etc/os-release`),以验证当前使用的 Linux 发行版及其内核版本是否满足官方文档中的最低要求[^2]。 - **获取本机 IP 地址** 执行如下 shell 命令来确定服务器的公网或私网 IP 地址: ```bash ip addr show ``` #### 安装 TiUP 工具 TiUP 是用于管理和运行多个 TiDB 组件的服务管理器,支持一键式集群部署、升级等功能。按照以下步骤下载并初始化 TiUP: 1. 下载最新稳定版 TiUP 可执行文件到本地路径下; ```bash curl --proto '=https' --tlsv1.2 -sSf https://tiup-mirrors.pingcap.com/install.sh | sh ``` 2. 将 TiUP 的 bin 目录加入 PATH 环境变量中以便后续调用更便捷;可通过编辑 `.bashrc`,`.zshrc` 文件实现永久生效设置: ```bash source ./.bash_profile # 对于 bash 用户 export PATH=$HOME/.tiup/bin:$PATH >> ~/.bashrc && source ~/.bashrc tiup --version ``` #### 创建测试集群 借助 TiUP 提供的一键化脚手架功能迅速搭建起完整的 TiDB 实验环境。具体指令如下所示: ```bash tiup playground tidb:v6.5.0 --db 1 --pd 1 --tiflash 0 --tiflash-proxy 0 --kv 1 ``` 上述命令会启动一个由单节点组成的最小规模 TiDB 集群,其中包含了 PD (Placement Driver), TiKV 和 TiDB Server 各自独立的一个实例。 #### 连接至 TiDB 数据库 一旦集群成功上线,则可以通过 MySQL 协议连接工具轻松接入该分布式关系型数据库引擎。推荐做法是在同一终端窗口里另开一个新的 session 来发起 SQL 请求交互: ```sql mysql -h 127.0.0.1 -P 4000 -u root ``` 此时应该能够正常进入 MySQL CLI 并准备就绪等待输入 DDL/DML 操作语句了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值