重装并升级MariaDB后Monit提示校验和失败的问题求助
重装并升级MariaDB后Monit提示校验和失败的问题求助
嘿,我来帮你捋清楚这个问题的根源和解决办法~
首先,你遇到的校验和失败问题其实很好理解:Monit在首次监控/usr/bin/mysqld_safe(对应mariadb_bin)和/usr/lib/systemd/system/mariadb.service(对应mariadb_init)这两个文件时,会自动计算并存储它们的校验和哈希值。当你从MariaDB 10.2升级到10.4后,这两个文件的内容已经和旧版本完全不一样了,Monit对比新的文件哈希和之前存储的旧哈希,自然就会提示“Checksum failed”。
至于你提到的group database,这个只是Monit的分组功能而已——把和数据库相关的监控项归到同一个组里,方便你批量操作(比如一键启停整个组的监控、查看组内所有项的状态),和当前的校验和问题没有关系哈。
下面给你几个解决办法,你可以根据自己的情况选:
方法一:重置Monit状态文件(最彻底)
- 先停止Monit服务:
systemctl stop monit - 找到Monit的状态存储文件,通常路径是
/var/lib/monit/monit.state,删除它:rm /var/lib/monit/monit.state - 重启Monit:
systemctl start monit
这样Monit会重新扫描所有监控项,计算并存储新的校验和,告警也就消失了。
- 先停止Monit服务:
方法二:手动让Monit重新校验(无需停服务)
- 先重新加载Monit配置:
monit reload - 分别让Monit重新校验两个文件:
monit validate mariadb_binmonit validate mariadb_init
执行完这两步,Monit就会更新这两个文件的校验和记录,不再触发告警。
- 先重新加载Monit配置:
方法三:暂时禁用校验和检查(不推荐,除非特殊场景)
如果你暂时不想用校验和检查功能,可以打开你的MariaDB Monit配置文件,把mariadb_bin和mariadb_init块里的if failed checksum then unmonitor这一行注释掉(在前面加#),然后执行monit reload让配置生效。不过还是建议保留这个检查,它能帮你及时发现文件被篡改的异常情况。
备注:内容来源于stack exchange,提问作者OsakaWebbie
相关产品推荐
相关产品推荐

