CentOS7 zabbix 4.4 升级 5.0

来自Linux78|wiki
Bob讨论 | 贡献2020年6月2日 (二) 11:30的版本
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)

升级要求

PHP版本已从最低的5.4.0 升级到 7.2.0

MySQL 5.5.62

MariaDB 10.0.37

PostgreSQL 9.2.24

Oracle 11.2

ZABBIX备份

mkdir  -p /home/backup/zabbix-backup
cp /etc/zabbix/zabbix_server.conf     /home/backup/zabbix-backup
cp /etc/zabbix/zabbix_agentd.conf    /home/backup/zabbix-backup
cp /etc/zabbix/web/zabbix.conf.php  /home/backup/zabbix-backup
cp -R /usr/share/zabbix/    /home/backup/zabbix-backup
cp –R /usr/share/doc/zabbix-*  /home/backup/zabbix-backup

数据库备份

mysql root@localhost:(none)> select count(8) tables,table_schema from information_schema.tables where table_schema = 'zabbix';

mysqldump -uzabbix -pzabbix --opt --skip-lock-tables  zabbix | gzip > /home/backup/zabbix_$(date +%Y%m%d_%H%M%S).sql.gz

停止 zabbix-server zabbix-agent 服务

systemctl stop zabbix-server zabbix-agent

卸载旧版本服务

yum remove zabbix-web-*  httpd

zabbix升级

rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
yum clean all
yum update zabbix-server-mysql zabbix-agent
yum-config-manager --enable rhel-server-rhscl-7-rpms
vim/etc/yum.repos.d/zabbix.repo 

[zabbix-frontend]
enabled=1

安装ZABBIX 前端包

yum install zabbix-web-mysql-scl zabbix-apache-conf-scl

为Zabbix前端配置PHP

vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
php_value[date.timezone] = Asia/Shanghai

启动Zabbix server和agent进程,并为它们设置开机自启:

systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm

附:

安装过程中有数据库报错:Index column size too large

根据报错提示可以看出是因为索引列太大导致。

【解决办法】:

根据报错提示,尝试解决:

先检查一下是不是数据库被限制了索引的大小

SHOW variables like 'innodb_large_prefix'

如果查询的值是OFF的话 执行下面命令

SET GLOBAL INNODB_LARGE_PREFIX = ON;

执行完了 之后 还得查看当前的innodb_file_format引擎格式类型是不是BARRACUDA

SHOW variables like 'innodb_file_format'

如果不是的话则需要修改 SET GLOBAL innodb_file_format = BARRACUDA;

但是再次执行上面的修改语句还是会报相同的错误。

更改表的结构:

alter table items row_format=dynamic;
alter table items row_format=compressed;

再次执行后,可以正常执行。