升级zabbix到3.2.1报数据库升级失败的错误-创新互联
一 问题描述
成都创新互联成立与2013年,是专业互联网技术服务公司,拥有项目网站设计、成都网站设计网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元兴山做网站,已为上家服务,为兴山各地企业和个人服务,联系电话:028-86922220今天把zabbix server和zabbix proxy升级到3.2.1。先停掉zabbix server然后挨个升级zabbix proxy最后再升级zabbix server。zabbix proxy升级的时候没有错误,可以顺利进行。但是升级zabbix server的时候报出以下错误:
4250:20161010:001506.980 using configuration file: /opt/app/zabbix/conf/zabbix_server.conf 4250:20161010:001506.998 current database version (mandatory/optional): 03000000/03000000 4250:20161010:001506.998 required mandatory version: 03020000 4250:20161010:001506.998 starting automatic database upgrade 4250:20161010:001507.010 [Z3005] query failed: [1091] Can't DROP 'history_log_2'; check that column/key exists [drop index history_log_2 on history_log] 4250:20161010:001507.011 database upgrade failed之前是对zabbix的数据库做过表分区
二 问题解决
查看zabbix问题反馈是由于zabbix 3.2在升级的时候需要drop history_log_2这个索引,如果没有就会报错。
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 ;升级完成以后,由于history_text和history_log重新创建了,原来的分区脚本不能直接对这两个表分区
需要先手动分区后脚本才能使用
http://john88wang.blog.51cto.com/2165294/1771557
参考文档:
http://john88wang.blog.51cto.com/2165294/1771082
https://zabbix.com/forum/showthread.php?p=189543
https://support.zabbix.com/browse/ZBX-11203
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
文章名称:升级zabbix到3.2.1报数据库升级失败的错误-创新互联
本文地址:http://cdiso.cn/article/hsjco.html