0
点赞
收藏
分享

微信扫一扫

Zabbix升级MySQL数据库的故障

Raow1 2024-01-30 阅读 15

收到一个MySQL安全漏洞告警,需要修复

Oracle MySQL JAN 2024 Critical Patch Update

因此想着升级MySQL,步骤如下:

sudo apt-get update

sudo apt-get upgrade mysql-server

sudo systemctl restart mysql

mysql --version

完成后Zabbix网页界面能打开,但是提示错误如下:

The Zabbix database version does not match current requirements. Your database version: 5050111. Required version: 6000000. Please contact your system administrator.

查询后说可以通过更改db version实现,步骤如下:

进入MySQL

mysql -uroot -p

update dbversion set mandatory=6000000;

flush privileges;

完成后重启系统,打开页面依然提示同样错误。

查询后发现,/etc/zabbix/zabbix_server.conf 文件被更新了,打开查看里面设置的密码不见了,因此重新添加上,估计是自己debug过程中尝试了不同方法不小心将zabbix配置文件刷新了

Zabbix升级MySQL数据库的故障_MySQL

再重启服务:sudo systemctl restart zabbix-proxy zabbix-agent apache2

重启MySQL: sudo service mysql restart

这下页面变成全白完全没有显示了

查log发现如下错误

sudo tail /var/log/zabbix/zabbix_server.log

Zabbix升级MySQL数据库的故障_zabbix_02

提示没有权限,测试了一下sql用户zabbix的密码,是正确的,因此排除配置文件的问题,继续查询,发现可以通过如下方式激活zabbix用户权限

sudo mysql -u root -p

SELECT Host,USER,Super_priv FROM mysql.user;

UPDATE mysql.user SET Super_Priv='Y' WHERE USER='zabbix' AND host='localhost';

Zabbix升级MySQL数据库的故障_MySQL_03

重启机器再打开zabbix页面就恢复正常了。

回顾整个过程,在debug的过程中,zabbix论坛的一个方法我用错了,导致后面一系列的问题,具体如下:

MySQl:

UPDATE mysql.user SET Super_Priv='Y' WHERE user='zabbix' AND host='%';

SET GLOBAL log_bin_trust_function_creators = 1;


Linux CLI: 这里导致我下载更新了zabbix的版本,进而导致配置文件被更新

wget https://repo.zabbix.com/zabbix/6.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.4-1+ubuntu20.04_all.deb

sudo dpkg -i zabbix-release_6.4-1+ubuntu20.04_all.deb

sudo apt update

后来在zabbix页面看到如下信息:

Zabbix升级MySQL数据库的故障_zabbix_04

MySQL: 这里将权限设为N导致后来的问题

UPDATE mysql.user SET Super_Priv='N' WHERE user='zabbix' AND host='%';

SET GLOBAL log_bin_trust_function_creators = 0;


举报

相关推荐

0 条评论