首页 > 数据库 >Zabbix升级MySQL数据库的故障

Zabbix升级MySQL数据库的故障

时间:2024-01-30 15:32:57浏览次数:23  
标签:SET 数据库 MySQL zabbix Zabbix version user mysql

收到一个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数据库的故障_MySQL_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;


标签:SET,数据库,MySQL,zabbix,Zabbix,version,user,mysql
From: https://blog.51cto.com/helpdesk/9488808

相关文章

  • mysql限定IP访问
     一、修改配置文件1.编辑MySQL的配置文件my.cnf(或者my.ini),该文件通常位于MySQL的安装目录下。2.找到[mysqld]部分,添加或修改以下行以启用访问控制:bind-address=0.0.0.0这将使MySQL监听所有IP地址。3.找到[mysqld]部分之后,在配置文件中添加以下行来限制允许访问的IP地......
  • MySQL-8.0.30升级MySQL-8.0.34
    记录一次MySQL漏洞升级操作升级背景:OracleMySQL官方发布MySQL-8.0.30版本高危漏洞CVE-2022-32221、CVE-2022-37434等,受影响版本涉及到8.0.32,官方建议升级至8.0.33,最好使用8.0.34,这里我们将MySQL-8.0.30升级至MySQL-8.0.34版本方案:将原mysql目录重命名,解压新的程序目录软链接到......
  • MySQL建索引报错:BLOB/TEXT column used in key specification without a key length
    MySQL建索引报错:BLOB/TEXTcolumnusedinkeyspecificationwithoutakeylength因为text类型的字段值太长,没办法为全部内容建立索引,只能指定前多少位字符建立索引;就像这样createindex`索引名`on表名(字段名(600));所以能用varchar能放下的尽量使用varchar吧......
  • 在 Windows 平台下安装与配置 MySQL 5.7.36
    Windows一般使用两种MySQL安装方式,即MySQL二进制分发版(.msi安装文件)和免安装版(.zip压缩文件)。一般来讲,应当使用二进制分发版,因为该版本比其他的分发版使用起来要简单,不再需要其他工具来启动就可以运行MySQL。本次实验是在Windows10平台上选用图形化的二进制安装方式,其他W......
  • python操作mysql
    python操作mysql1.数据库连接池在操作数据库时需要使用数据库连接池。pip3.9installpymysql#安装pymysqlpip3.9installdbutils#安装dbutilsimportthreadingimportpymysqlfromdbutils.pooled_dbimportPooledDBMYSQL_DB_POOL=PooledDB(creator=pym......
  • 把git当作一个小型最终一致性的 json 数据库
    这几天写了一些有趣的代码:把git当作json数据库。做法是这样的:创建一个git仓库为每个最小粒度的数据创建一个独立的json文件({table}.json)客户端通过Python写git操作代码,实现几个数据库操作接口。数据库操作接口最小集:初始化:把git仓库拉下来(这个后面可以优化为只拉取指......
  • 科技云报道:新趋势下,国产数据库或“春山可望”
    科技云报道原创。从540亿元到1286亿元——这是中国通信标准化协会大数据技术标准推进委员会针对中国数据库行业给出的一份预测报告。报告指出,未来五年,中国数据库行业将从百亿级市场跨越成为千亿级市场。最近两年,中国的数据库行业似乎也在迎来一轮新热潮,而这种热潮是伴随着5G、云计......
  • 从数据库更新模型时出现System.ArgumentException
    尝试从数据库进行更新时,遇到类型未system.argumentexception的异常 来自热心网友的提醒:初看这个问题的时候以为有相同的表、主键啊之类的冲突排除了很久后检查了一下EntitySetMapping发现存在相同的节点呢删除了就ok了检查了一下EntitySetMapping发现存在相同的节......
  • MySQL查看bin_log日志
    有这样一段业务逻辑,首先保存业务数据,然后发送报文,最后确认报文回来以后更新业务数据。伪代码大概是这样的:/***保存数据,并调用发送报文方法*/publicvoidsave(){//0.保存数据//调用send()方法send();}/***发送报文*/publicvoidsend(){/......
  • 分库分表已成为过去式,使用分布式数据库才是未来
    转载至我的博客https://www.infrastack.cn,公众号:架构成长指南当我们使用Mysql数据库到达一定量级以后,性能就会逐步下降,而解决此类问题,常用的手段就是引入数据库中间件进行分库分表处理,比如使用Mycat、ShadingShpere、tddl,但是这种都是过去式了,现在使用分布式数据库可以避免......