CentOS7 zabbix 4.4 升级 5.0
来自Linux78|wiki
升级要求
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;
再次执行后,可以正常执行。