当前位置: 首页 >数据库 > 第十五章 监控系统-zabbix升级

第十五章 监控系统-zabbix升级

升级 Zabbix 分为两种情况:一是同版本升级,不涉及数据库的升级更新;二是跨版本升级,涉及数据库表结构的更改。

一、同版本升级

同版本升级,执行命令即可,以下是操作步骤。#1.备份软件相关文件和配置文件,命令如下: [root@prd-apm001 ~]$ mkdir -p /data/zabbix/backup [root@prd-apm001 ~]$ cp -r /etc/zabbix  /data/zabbix/backup/zabbix_conf [root@prd-apm001 ~]$ cp -r /usr/share/zabbix /data/zabbix/backup/zabbix_web [root@prd-apm001 ~]$ cp -r /usr/sbin/zabbix_server /data/zabbix/backup/zabbix_server [root@prd-apm001 ~]$ cp -r /usr/sbin/zabbix[root@prd-apm001 ~]$ cp -r /usr/share/doc/zabbix-* /data/zabbix-backup/ #2.备份数据库[root@prd-apm001 ~]$ sh /usr/sbin/zabbix_mysqldump.sh mysqldump#备份数据 #3.升级软件,相关操作命令如下: [root@prd-apm001 ~]$ rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.centos.noarch.rpm[root@prd-apm001 ~]$ systemctl stop zabbix-server#停止 zabbix-server [root@prd-apm001 ~]$ systemctl stop zabbix-proxy	#停止 zabbix-proxy[root@prd-apm001 ~]$ yum  upgrade  zabbix-server-mysql  zabbix-web-mysql  zabbix-agent zabbix-get -y [root@prd-apm001 ~]$ systemctl start zabbix-server  #开启 zabbix-server [root@prd-apm001 ~]$ systemctl start zabbix-proxy#开启 zabbix-proxy [root@prd-apm001 ~]$ ps -ef |grep zabbix #查看进程[root@prd-apm001 ~]$ tail -f /var/log/zabbix/zabbix_server.log #查看日志  

二、跨版本升级

跨版本升级,其步骤与同版本升级的步骤一致。由于之前版本存有监控数据,因此在升级过程中执行 SQL 语句更改的速度会比较慢。一般跨版本升级不会涉及 history、trends 这些存储监控历史数据的表结构的改动,故升级过程时间不会特别长,具体视数据库状况和服务器性能而定。从启动 zabbix_server 进程的那一刻起,后台就执行了对表结构进行更改的操作,此过程不可逆。此时,切记不可以强行中断 zabbix_server 进程;否则,再次启动进程,可能会造成表结构更改失败的后果,从而导致升级失败。如果遇到这种情况,最简单的方法是将表结构删除(history、trends 表需保留),使用之前的备份进行恢复,等数据库恢复完成后,再重新启动zabbix_server 进程,数据库可再次进行自动升级。

三、数据库自动升级的原理

数据库升级的过程是由 zabbix_server 进程自动执行的,升级语句包含在代码中,有 ALTER、UPDATE 等 SQL 语句。代码位于:https://github.com/zabbix-book/zabbix-4.0.0alpha8/blob/master/src/libs/zbxdbupgrade/dbupgrade_3050.c#L761-L780
static int	DBpatch_3050069(void){	int	res;	res = DBexecute(		"update widget_field"		" set name='itemids'"		" where name='itemid'"			" and exists ("				"select null"				" from widget w"				" where widget_field.widgetid=w.widgetid"					" and w.type='plaintext'"			")");	if (ZBX_DB_OK > res)		retu FAIL;	retu SUCCEED;}

作者:年少纵马且长歌
来源链接:https://www.cnblogs.com/jhno1/p/15716139.html

版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。





本文链接:https://www.javaclub.cn/database/118634.html

标签:MySQL升级
分享给朋友:

“第十五章 监控系统-zabbix升级” 的相关文章

MySQL数据库(基础) 2022年05月16日 21:54:19
MySQL学习(4)︱数据库的查询 2022年06月07日 01:52:58
mysql 查询操作日志 2022年06月10日 21:58:42
MYSQL根据日期查询 2022年06月11日 21:03:52
MYSQL查询返回JSON格式的字符串 2022年06月12日 23:10:27
mysql的查询操作 2022年06月14日 12:38:40