zabbix5.0.X升级到6.0.X版本(多种实现方法)

我这边的生产环境是centos7.9,mysql5.7.38,zabbix-server5.0.31

由于业务需要,需要用到zabbix6.0的一些功能,所以不得已升级,参考了好多资料

zabbix依赖于mysql8,php版本大于7.2,且zabbix官方没有centos7的安装包,所以最终要编译安装

一上来就编译安装结果各种报错,所以我拆解为四种步骤,逐步实现,各位可以根据自己的实际情况选择其中一种方法升级


第一种升级方法:

Linux : CentOS Stream release 8

Mysql: 8.0.26

新安装环境,数据库从5.0导出再导入6.0

新部署了一台centos8的环境其上部署了zabbix6.0,然后把原来zabbix5.0的数据导入其中

关闭selinux

# setenforce 0

# sed -i"s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config

安装mysql

#yum -y install mysql-server

# systemctl start mysqld && systemctlenable mysqld

初始化root密码

# mysql -uroot

> use mysql;

> alter user 'root'@'localhost'identified by 'root数据库密码';

> flush privileges;

创建zabbix库

> create database zabbix character setutf8mb4 collate utf8mb4_bin;

> create user zabbix@localhostidentified by 'zabbix数据库密码';

> grant all privileges on zabbix.* tozabbix@localhost;

> flush privileges;

导入数据

>use zabbix;

> source /root/zabbix.sql;

上面zabbix.sql为zabbix5.0导出的数据

安装zabbix

# rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/8/x86_64/zabbix-release-6.0-4.el8.noarch.rpm

# dnf cleanall

# sed -i's#https://repo.zabbix.com#https://mirrors.tuna.tsinghua.edu.cn/zabbix#g'/etc/yum.repos.d/zabbix.repo

# sed -ri's/enabled=0/enabled=1/g' /etc/yum.repos.d/zabbix.repo

# dnf installzabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf zabbix-sql-scriptszabbix-selinux-policy zabbix-agent

修改配置文件

# vim /etc/zabbix/zabbix_server.conf

DBPasswd=zabbix数据库密码

# vim /etc/nginx/conf.d/zabbix.conf

此处可以修改zabbix服务页面端口

启动服务

# systemctl restart zabbix-server zabbix-agent nginx php-fpm

页面数据库报错处理

提示连接数据库报version不对

修改数据库

>use zabbix;

> update dbversion set mandatory=6000000;

页面报server未启动

修改数据库

> set global log_bin_trust_function_creators = 1;

修改数据库历史数据表使用主键,zabbix6.0历史表较5.0有变化,所以需要手动修改

# mysql-uzabbix -pzabbix数据库密码 zabbix </usr/share/zabbix-sql-scripts/mysql/history_pk_prepare.sql

>use zabbix;

> DROP TABLE history_old;

> DROP TABLE history_uint_old;

> DROP TABLE history_str_old;

> DROP TABLE history_log_old;

> DROP TABLE history_text_old;

# systemctl restart zabbix-server zabbix-agent nginx php-fpm mysqld


第二种升级方法:

Linux : CentOSLinux release 7.9.2009 (Core)

Mysql: 8.0.32

新安装环境,编译安装,数据库也是新的

第一种方法虽然成功,但是毕竟还要新安装服务器,不是想要的升级,还是想在centos7.9下面试试直接升级,所以我安装了个新的centos7.9环境,测试下编译安装zabbix6.0

关闭selinux

# setenforce 0

# sed -i"s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config

关闭防火墙

#systemctlstop firewalld

安装php

# yum install epel-release

# yum install https://mirrors.tuna.tsinghua.edu.cn/remi/enterprise/remi-release-7.rpm

# yum installlibxml2-devel sqlite-devel libcurl-devel libpng-devel libjpeg-turbo-devellibXpm-devel freetype-devel libicu-devel gcc-c++ libxslt-devel oniguruma-devellibsodium-devel openldap-devel net-snmp-devel libwebp-devel

# yum--enablerepo=remi-php74 install php php-cli php-common php-devel php-embeddedphp-gd php-mbstring php-pdo php-xml php-fpm php-mysqlnd php-opcache php-mcryptphp-pecl-memcached php-pecl-mongodb php-pecl-redis php-bcmath php-intlphp-xmlrpc php-pecl-zip php-soap php-snmp php-ldap

修改php用户

#egrep"^(user|group)" /etc/php-fpm.d/www.conf

user = nginx

group = nginx

修改配置

# vim/etc/php.ini

post_max_size= 16M

max_execution_time= 300

max_input_time= 300

启动服务

# systemctl restart php-fpm

安装mysql8

# yum remove mysql -y

# rpm -qa |grep mysql

# rpm -qa |grep mariadb

# rpm -e--nodeps mariadb-libs-5.5.68-1.el7.x86_64

# yum installlibaio -y

# wget https://repo.mysql.com//mysql80-community-release

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值