一、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
修改成之前的配置即可
至此就已升级完毕