一、zabbix4.4升级到zabbix5.0(编译安装方式)

注:我这边是用的编译安装方式,LNMP架构

备份新库

mysqldump -uroot -p zabbix -p1333> /root/zabbix.sql

看一下,避免备份了空的数据

ll /root/zabbix.sql
-rw-r--r-- 1 root root 3704002 8月  14 14:52 /root/zabbix.sql

下包传包

解压到相应目录,我的是data
备份旧的zabbix目录数据

tar -czf /opt/zabbix4.4.bak zabbix

编译安装(以前的编译方式,命令)

./configure --prefix=/data/zabbix/ --enable-server --enable-agent --enable-ipv6 --with-mysql=/usr/bin/mysql_config --with-net-snmp --with-libcurl --with-libxml2  --with-openipmi --with-ldap --with-ssh2 --enable-java --with-unixodbc

make && make install

启动新的ZABBIX-SERVER并查看启动日志

./sbin/zabbix_server -c ./etc/zabbix_server.conf
tailf /tmp/zabbix_server.log

报错:

#tailf /tmp/zabbix_server.log
1252:20200811:160002.502 [Z3005] query failed: [1050] Unknown error 1050 [create table task_data (
`taskid` bigint unsigned not null,
`type` integer default '0' not null,
`data` text not null,
`parent_taskid` bigint unsigned not null,
primary key (taskid)
) engine=innodb]
 11252:20200811:160002.502 database upgrade failed
  • 解决:

进数据库直接drop掉相应的表,如上

drop table task_data;
#若删表遇到报错
mysql> drop table lld_override;
ERROR 1217 (23000):

取消外键约束再删

mysql> set FOREIGN_KEY_CHECKS = 0;
Query OK, 0 rows affected (0.00 sec) 

mysql> drop table lld_override;
Query OK, 0 rows affected (0.01 sec)
记得再改回来
mysql> set FOREIGN_KEY_CHECKS = 1;
Query OK, 0 rows affected (0.00 sec)

前端

备份以前的前端包

mv zabbix/ zab4.4
cp /data/zabbix-5.0.2/ui/*  /data/nginx/html/zabbix/ -rf
cd /data/nginx/html/zabbix/conf
cp -a zabbix.conf.php.example zabbix.conf.php
vim zabbix.conf.php

修改成之前的配置即可
至此就已升级完毕

最后修改:2020 年 08 月 18 日 05 : 07 PM
如果觉得我的文章对你有用,请随意赞赏