数据库版本升级
更新时间:2024-07-01 14:39:42
独立模式环境升级
步骤一:上传 tar 包
将 tar 包上传到 AntDB 数据库所在的主机上。
上传后,解压缩:
tar -zxvf antdb-t-ee-release-7.2.generic.*
步骤二:停止数据库
adb_ctl stop -D /home/antdb/data
步骤三:备份数据和二进制目录
- 备份旧版本二进制文件;
cp -r /home/antdb/app /home/antdb/app.bak
- 备份数据目录(可选);
cp -r /home/antdb/data /home/antdb/data.bak
步骤四:运行升级脚本
升级脚本使用安装部署包里的 antdb_upgrade.sh。该脚本有以下可执行选项。
[antdb@host227 antdb-t-ee-release-7.2.generic.*]$ sh antdb_upgrade.sh --help
`antdb_upgrade.sh` Update AntDB with the new package.
Usage: sh antdb_upgrade.sh [OPTION]
Options:
-b, --backup Update antdb and backup before files.
-c, --config Database upgrade configuration file.
-h, --help Display this usage info and exit.
-V, --version Display this tool version info and exit.
说明:
其中指定-b会在升级前,备份二进制文件,如果步骤三已经手动备份过了,可以不用指定-b选项
-c 选项是必选选项,指定升级的配置文件
升级前,需要配置升级文件(setup/common/upgrade_conf.ini)。
注意: 该配置文件最后的换行符不可全删掉(配置文件最后要有换行符)。
## upgrade_info 配置项说明:
##
## upgrade_type 分类:
## primary 表示只更新主节点,即当前机器节点
## all 表示更新所有节点
[upgrade_info]
upgrade_type = primary #集中式单节点升级,只能填primary
## host_info 配置说明:
##
## primary_node 格式:user,ssh_ip,ssh_port,antdb_app_path,antdb_data_path,antdb_ip,antdb_port
## user:数据库超级用户名,同时也应该是操作系统用户名 #集中式和分布式,这个都需要填写
## ssh_ip:数据库所在主机 SSH 服务地址 #针对集中式填写主机所在IP
## ssh_port:数据库所在主机 SSH 服务端口 #集中式和分布式,这个都需要填写
## antdb_app_path:数据库程序目录 #针对集中式,填写数据库程序目录
## antdb_data_path:数据库数据目录 #针对分布式的配置,填写分布式mgr节点的data目录
## antdb_ip:数据库监听的地址 #针对分布式的配置,填写分布式mgr节点的IP
## antdb_port:数据库监听的端口 #针对分布式的配置,填写分布式mgr节点的端口
##
## standby_node 格式:user,ssh_ip,ssh_port,antdb_app_path
## 各字段与 primary_node 含义相同。
##
## 注意:
## 1、standby_node 仅用于更新集中式高可用,其它情形下不需要此信息。
## 2、如果仅更新主节点,primary_node 中填写前4个字段即可。
## 3、如果更新分布式的所有节点,primary_node 中必须填写所有字段。
[host_info]
primary_node = antdb,10.1.206.227,22,/home/antdb/antdb_cluster
standby_node = antdb,10.1.206.228,22,/home/antdb/antdb_cluster
standby_node = antdb,10.1.206.229,22,/home/antdb/antdb_cluster
执行升级脚本:
sh antdb_upgrade.sh -c setup/common/upgrade_conf.ini
注:也可以指定 -b 参数,备份二进制文件,这里手动备份过,可以不指定此参数。
sh antdb_upgrade.sh -b -c setup/common/upgrade_conf.ini
-b参数会将升级前AntDB二进制文件进行备份,并以时间日期结尾,例如:~/app/antdb-20230331-6264
步骤五:启动数据库
adb_ctl start -D /home/antdb/data
升级完成后,登录到数据库上,检查版本号是否正确:
select adb_version();
高可用集群环境升级
步骤一:上传 tar 包
- 将 tar 包(以 AntDB7.2 版本为例)上传到 AntDB 数据库所在的主机上。
上传后,解压缩:
tar -zxvf antdb-t-ee-release-7.2.generic.*
- 找到安装包中的升级配置文件模版,修改升级配置:
cd antdb-t-ee-release-7.2.generic.*/setup/common
vim upgrade_conf.ini
其中,upgrade_type = all
,表示升级所有节点。
例如:
## upgrade_info 配置项说明:
##
## upgrade_type 分类:
## primary 表示只更新主节点,即当前机器节点
## all 表示更新所有节点
[upgrade_info]
upgrade_type = all #集中式高可用可以选填primary或者all,all表示更新所有节点,primary表示只更新主节点,即当前机器节点
## host_info 配置说明:
##
## primary_node 格式:user,ssh_ip,ssh_port,antdb_app_path,antdb_data_path,antdb_ip,antdb_port
## user:数据库超级用户名,同时也应该是操作系统用户名 #集中式和分布式,这个都需要填写
## ssh_ip:数据库所在主机 SSH 服务地址 #针对集中式填写主机所在IP
## ssh_port:数据库所在主机 SSH 服务端口 #集中式和分布式,这个都需要填写
## antdb_app_path:数据库程序目录 #针对集中式,填写数据库程序目录
## antdb_data_path:数据库数据目录 #针对分布式的配置,填写分布式mgr节点的data目录
## antdb_ip:数据库监听的地址 #针对分布式的配置,填写分布式mgr节点的IP
## antdb_port:数据库监听的端口 #针对分布式的配置,填写分布式mgr节点的端口
##
## standby_node 格式:user,ssh_ip,ssh_port,antdb_app_path
## 各字段与 primary_node 含义相同。
##
## 注意:
## 1、standby_node 仅用于更新集中式高可用,其它情形下不需要此信息。
## 2、如果仅更新主节点,primary_node 中填写前4个字段即可。
## 3、如果更新分布式的所有节点,primary_node 中必须填写所有字段。
[host_info]
primary_node = antdb,10.1.206.227,22,/home/antdb/antdb_cluster
standby_node = antdb,10.1.206.228,22,/home/antdb/antdb_cluster
standby_node = antdb,10.1.206.229,22,/home/antdb/antdb_cluster
步骤二:停止数据库
停止所有节点的 adbdcs 和 adbhamgr 服务,先停备节点,再停主节点:
sudo systemctl stop adbdcs
sudo systemctl stop adbhamgr
步骤三:备份数据
- 备份旧版本二进制文件:
cp -r /home/antdb/app /home/antdb/app.bak
- 备份主备所有节点的数据目录(可选):
cp -r /home/antdb/data /home/antdb/data.bak
步骤四:开始交互式升级
开始交互式升级,-c 指定第一步修改的升级配置文件:
sh antdb_upgrade.sh -c setup/common/upgrade_conf.ini
注:
-b参数会将升级前AntDB二进制文件进行备份,并以时间日期结尾,例如:~/app/antdb-20230331-6264
步骤五:启动数据库
启动所有节点的 adbdcs 和 adbhamgr 服务,先启动主节点,后启动备节点:
sudo systemctl start adbdcs
sudo systemctl start adbhamgr
升级完成后,登录到数据库上,检查版本号是否正确:
select adb_version();
问题反馈