升级zabbix到3.2.1报数据库升级失败的错误
2016-10-10 00:38
537 查看
一 问题描述
今天把zabbix server和zabbix proxy升级到3.2.1。先停掉zabbix server然后挨个升级zabbix proxy最后再升级zabbix server。zabbix proxy升级的时候没有错误,可以顺利进行。但是升级zabbix server的时候报出以下错误:
二 问题解决
查看zabbix问题反馈是由于zabbix 3.2在升级的时候需要drop history_log_2这个索引,如果没有就会报错。
升级完成以后,由于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
今天把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
相关文章推荐
- 错误——附加数据库对于服务器失败,无法升级数据库,因为它是只读的
- 破解SQL Server连接错误-“无法打开用户默认数据库,登录失败”
- asp + Access 常见的数据库访问失败问题 Microsoft JET Database Engine 错误 '80004005' 解决办法
- 附加数据库对于服务器失败,无法升级数据库,因为它是只读的,或者具有只读文件
- 附加数据库对于服务器失败(Microsoft.SqlServer.Smo),无法升级数据库,因为它是只读的,或者具有只读文件
- SQLSERVER2005错误提示:数据库连接失败
- asp + Access 常见的数据库访问失败问题 Microsoft JET Database Engine 错误 '80004005' 解决办法
- 附加数据库失败 操作系统错误5:5拒绝访问 错误5120 解决方法
- win2003系统 360安全卫士升级重启后的错误: qutmipc 服务启动失败
- 数据库安装错误的解决方式 【转】如何处理 SQL Server 安装过程中的 COM+ 检查失败问题 - ...
- 附加数据库失败,无法升级数据库,因为它是只读的
- asp + Access 常见的数据库访问失败问题 Microsoft JET Database Engine 错误 '80004005' 解决办法
- 附加数据库对于服务器失败(Microsoft.SqlServer.Smo),无法升级数据库,因为它是只读的,或者具有只读文件
- IIS遇到了访问IIS元数据库失败的错误
- 附加数据库失败,无法升级数据库,因为它是只读的
- 创建数据库 ORA-12571:TNS:包写入程序失败 错误 解决办法
- Microsoft SQL Server错误: 15138删除对于用户失败,数据库主体在该数据库中拥有架构,无法删除。解决方法
- 未能获得数据库 'MODEL' 上的排它锁。请稍后再尝试该操作。CREATE DATABASE 失败。未能创建所列出的某些文件名。请检查前面的错误信息。
- 路由器升级错误导致网页打开失败故障
- (转载)附加数据库失败,无法升级数据库,因为它是只读的