zabbix2.4版本升级到3.2版本

zabbix3.2版本源码安装完毕,目前将2.4版本升级到3.2版本操作,只需要将2.4的数据库备份导出,然后将其导入3.2版本的数据库即可。

1、停止zabbix相关服务

service zabbix_server stop
service zabbix_agentd stop 
service mysqld stop
service php-fpm stop

2、zabbix2.4版数据库备份

mysqldump --opt -R -uzabbix -p zabbix --ignore-table=zabbix.history --ignore-table=zabbix.history_log --ignore-table=zabbix.history_str --ignore-table=zabbix.history_text --ignore-table=zabbix.history_uint --ignore-table=zabbix.trends --ignore-table=zabbix.trends_uint > zabbix.sql

注释:

–opt:此Mysqldump命令参数是可选的,如果带上这个选项代表激活了Mysqldump命令的quick,add-drop-table,add-locks,extended-insert,lock-tables参数,也就是通过–opt参数在使用Mysqldump导出Mysql数据库信息时不需要再附加上述这些参数。

--ignore-table:不导出制定表格,此项可根据具体情况添加,由于历史数据太多,只将重要的zabbix信息导出了,节省时间。

3、将数据库备份导入zabbix3.2版本的数据库

service mysqld start
mysql -uzabbix -p zabbix < zabbix.sql

4、启动服务器

service php-fpm start
service zabbix_agentd start
service zabbix_server start

但是,这样导入数据库是起不来的会报错,具体问题具体分析,去看下zabbix_server.log日志,查找一下原因。我碰到的问题是zabbix-server在自检升级数据库时,提示有一些表格是已经存在,导致启动失败,既然存在造成的就删掉好了。

下列是我删掉的表格:

SET FOREIGN_KEY_CHECKS = 0;
drop table application_prototype;
drop table item_application_prototype;
drop table application_discovery;
drop table opinventory;
drop table opinventory;
drop table sysmap_user;
drop table sysmap_usrgrp;
drop table screen_user;
drop table screen_usrgrp;
drop table slideshow_user;
drop table slideshow_usrgrp;
drop table trigger_tag;
drop table event_tag;
drop table problem;
drop table event_recovery;
drop table problem_tag;
drop table correlation;
drop table corr_condition;
drop table corr_condition_tag;
drop table corr_condition_group;
drop table corr_condition_tagpair;
drop table corr_condition_tagvalue;
drop table corr_operation;
drop table task;
drop table task_close_problem;
DROP TABLE history_log;
DROP TABLE history_text;
CREATE TABLE `history_log` (
`id` BIGINT(20) UNSIGNED NOT NULL,
`itemid` BIGINT(20) UNSIGNED NOT NULL,
`clock` INT(11) NOT NULL DEFAULT ‘0‘,
`timestamp` INT(11) NOT NULL DEFAULT ‘0‘,
`source` VARCHAR(64) NOT NULL DEFAULT ‘‘ COLLATE ‘utf8_bin‘,
`severity` INT(11) NOT NULL DEFAULT ‘0‘,
`value` TEXT NOT NULL COLLATE ‘utf8_bin‘,
`logeventid` INT(11) NOT NULL DEFAULT ‘0‘,
`ns` INT(11) NOT NULL DEFAULT ‘0‘,
PRIMARY KEY (`id`),
UNIQUE INDEX `history_log_2` (`itemid`, `id`),
INDEX `history_log_1` (`itemid`, `clock`)
)
COLLATE=‘utf8_bin‘
ENGINE=InnoDB
;
CREATE TABLE `history_text` (
`id` BIGINT(20) UNSIGNED NOT NULL,
`itemid` BIGINT(20) UNSIGNED NOT NULL,
`clock` INT(11) NOT NULL DEFAULT ‘0‘,
`timestamp` INT(11) NOT NULL DEFAULT ‘0‘,
`source` VARCHAR(64) NOT NULL DEFAULT ‘‘ COLLATE ‘utf8_bin‘,
`severity` INT(11) NOT NULL DEFAULT ‘0‘,
`value` TEXT NOT NULL COLLATE ‘utf8_bin‘,
`logeventid` INT(11) NOT NULL DEFAULT ‘0‘,
`ns` INT(11) NOT NULL DEFAULT ‘0‘,
PRIMARY KEY (`id`),
UNIQUE INDEX `history_text_2` (`itemid`, `id`),
INDEX `history_text_1` (`itemid`, `clock`)
)
COLLATE=‘utf8_bin‘
ENGINE=InnoDB
;

注释:

SET FOREIGN_KEY_CHECKS = 0;#是关闭外键检查,不关闭,上述表格删不掉。

service zabbix_server start

应该就可以起来了,具体问题需要结合日志去排查,每个环境问题可能不一样,所以要有针对性的去解决。

时间: 2024-10-17 09:05:10

zabbix2.4版本升级到3.2版本的相关文章

从 Bootstrap 2.x 版本升级到 3.0 版本

摘自http://v3.bootcss.com/migration/ Bootstrap 3 版本并不向后兼容 v2.x 版本.下面的章节是一份从 v2.x 版本升级到 v3.0 版本的通用指南.如需查看更版本更新信息,请点击 v3.0 新增内容. 主要 class 的变更 下表列举了 v2.0x 版本和 v3.0 版本之间的样式差异. Bootstrap 2.x Bootstrap 3.0 .row-fluid .row .span* .col-md-* .offset* .col-md-of

node 版本升级,版本管理,版本切换

查看node版本 node -v 升级步骤 1,清除node缓存 sudo npm cache clean -f 2,安装n模块 sudo npm install -g n 3,升级到稳定版本 sudo n stable 切换node版本步骤 如果没有nvm,安装地址https://github.com/creationix/nvm 1,安装成功后,查看node版本列表 nvm ls 2,根据列表切换到想要的版本比如: nvm use v8.0.0 3,查看是否切换成功 node -v

parted 从2.1版本升级到3.0版本

场景描述:parted 3.0版本一直以来都没有升级成功 操作步骤一:    CFLAGS=-Os .configure出错如下:configure:error:GNU Parted required libuuid -a part of the util-linux-ng package(but usually distributed separately in libuuid-devel,uuid-dev or similar)This can probably be found on yo

Cocoapods 集成AFNetworking从2.0版本升级到3.0版本的问题

问题描述: 1.AFNetworking 2.0版本使用的网络请求是AFHttpOpretionManager方式,较慢: 2.AFNetworking 3.0版本已完全废弃了上一种请求方式,改为全面只是iOS 9.0HTTPS的网络请求方式,更快更安全: 3.项目中使用cocoapods管理第三方插件,报错AFNetworking也不例外,但是使用pod升级时会遇到如下问题: 1.原有的网络请求已废弃,要使用最新方法 - (nullableNSURLSessionDataTask *)GET:

快速升级PHP5.4、MySql5.5版本WDCP面板一键包

指定一键安装包环境升级PHP5.4版本 wget http://soft.sindns.net/wdcp/php_up54.sh sh php_up54.sh 直接登录SSH,下载和执行脚本自动会升级PHP5.4版本. 我们等呀等,看到这样的界面,就表示升级完毕. 刷新PHPINFO,然后我们可以看到当前的PHP版本已经到5.4.下面就好办了,是不是? 升级MYSQL5.5版本 比较稳定的还是直接升级到5.5版本,为了文章的连贯性,直接在这里也提一下MYSQL的升级. wget http://s

NetScaler版本升级

1.NetScaler版本升级说明 需求:通过shell方式升级NetScaler [拓扑] 2.升级前准备 准备版本升级所需的版本文件 使用浏览器打开https://www.citrix.com/downloads/netscaler-adc/登录后选择需要的升级包进行DownLoad 选择tgz升级包 准备版本升级所需的必要工具 3.升级过程 使用SSH工具登录NetScaler查看当前版本信息 将升级包使用SFTP工具上传到NetScaler的 /var/nsinstall/build-1

SQLite数据库版本升级的管理实现

我们知道在SQLiteOpenHelper的构造方法: super(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) 中最后一个参数表示数据库的版本号.当新的版本号大于当前的version时会调用方法: onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) 所以我们的重点是在该方法中实现SQLite数据库版本升级的管理

软件发布版本命名规则

1 版本类型 1.1 正式版本 Enhance:增强版或者加强版 属于正式版Full version:完全版 属于正式版Release:发行版,有时间限制Upgrade:升级版Retail:零售版Plus:增强版,不过这种大部分是在程序界面及多媒体功能上增强. 1.2 测试版本 Alphal:内部测试版Beta:外部测试版M 版: Milestone,意思是每个开发阶段的终结点的里程碑版本Trail:试用版(含有某些限制,如时间.功能,注册后也有可能变为正式版)RC版:Release Candi

查看ubuntu的内核版本和发行版本号

有时候,我们在升级内核版本或者是从一个版本升级到新的版本之后,想要查看一下自己的ubuntu是否升级成功.可是有没有一种比较快捷的方法比如说在终端里面查看呢?答案是肯定的.为了查看 Ubuntu 的版本号,可以采用以下两种方法之一. 方法一 在终端中执行下列指令: cat /etc/issue 可以查看当前正在运行的 Ubuntu 的版本号.其输出结果类似下面的内容: Ubuntu 8.04 /n /l 方法二 使用 lsb_release 命令也可以查看 Ubuntu 的版本号,与方法一相比,