Zabbix 数据库 history_uint 表损坏修复

news/2025/11/1 23:16:31/文章来源:https://www.cnblogs.com/coffeeboy/p/19181975

问题现象

使用CentOS 9部署Zabbix 7.0使用一段时间后,查询历史数据时出现报错,Zabbix图形历史数据显示异常。并且Zabbix对接了Grafana,在Grafana历史图形中出现图像数据不连续的现象。

Zabbix前端Top hosts by CPU untilization显示红色告警框,告警内容如下:

Error in query [SELECT * FROM history_uint h WHERE h.itemid='42253' AND h.clock>1739060872 ORDER BY h.clock DESC,h.ns DESC LIMIT 1]
[Index for table 'history_uint' is corrupt; try to repair it]
[zabbix.php:17 → require_once() → ZBase->run() → ZBase->processRequest() → CController->run() → 
Widgets\TopHosts\Actions\WidgetView->doAction() → Widgets\TopHosts\Actions\WidgetView->getData() → 
Widgets\TopHosts\Actions\WidgetView->getitemValues() → CHistoryManager->getLastValues() → 
CHistoryManager->getLastValuesFromSqlWithPk() → DBselect() → trigger_error() in include/db.inc.php:243]

进入数据库检查表状态,表空间损坏丢失。

MariaDB [(none)]> use zabbix;
MariaDB [zabbix]> check table history_uint;
+---------------------+-------+----------+------------------------------------------------------------------------------+
| Table               | Op    | Msg_type | Msg_text                                                                     |
+---------------------+-------+----------+------------------------------------------------------------------------------+
| zabbix.history_uint | check | Error    | Got error 194 "Tablespace is missing for a table" from storage engine InnoDB |
| zabbix.history_uint | check | error    | Corrupt                                                                      |
+---------------------+-------+----------+------------------------------------------------------------------------------+
2 rows in set (0.000 sec)

修复方法

可以通过启用innodb_force_recovery临时模式启动数据库,删除损坏表并重建表结构即可修复history_uint表损坏问题。

1、停止Zabbix服务

[root@localhost ~]# systemctl stop zabbix-server

2、启用InnoDB强制恢复模式

编辑MySQL主配置文件/etc/my.cnf

[root@localhost ~]# vim /etc/my.cnf

在主配置文件中添加以下内容:

[mysqld]
innodb_force_recovery=1

3、重启数据库服务

[root@localhost ~]# systemctl stop mariadb.service
[root@localhost ~]# systemctl start mariadb.service

4、删除并重建history_uint

进入数据库:

[root@localhost ~]# mysql -uroot -p

执行以下SQL语句:

USE zabbix;
DROP TABLE history_uint;CREATE TABLE `history_uint` (`itemid` bigint(20) unsigned NOT NULL,`clock` int(11) NOT NULL DEFAULT 0,`value` bigint(20) unsigned NOT NULL DEFAULT 0,`ns` int(11) NOT NULL DEFAULT 0,PRIMARY KEY (`itemid`,`clock`,`ns`)
) ENGINE=InnoDB
DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;

5、关闭恢复模式并重启数据库

删除/etc/my.cnf配置文件中新增的以下内容:

[mysqld]
innodb_force_recovery=1

重启数据库服务:

[root@localhost ~]# systemctl stop mariadb.service
[root@localhost ~]# systemctl start mariadb.service

6、启动Zabbix服务

[root@localhost ~]# systemctl start zabbix-server

至此,即可完成history_uint表损坏导致历史数据查询异常的问题。

脚本修复

1、创建一个名为zabbix_db_tools.sh的文件

vim zabbix_db_tools.sh

2、将以下内容复制到文件中,按下Esc键,然后按下Shift+:键,输入wq!保存

#!/bin/bash
# ===============================================
# Zabbix 数据库修复脚本 (history_uint 表损坏修复)
# 使用前请确认运行用户有root权限
# ===============================================MYSQL_CONF="/etc/my.cnf"
MYSQL_CMD="/usr/bin/mariadb -uroot"
ZABBIX_DB="zabbix"echo "==============================="
echo "开始执行 Zabbix 数据库修复流程..."
echo "==============================="# Step 1: 停止 Zabbix 服务
echo "[1/10] 停止 Zabbix 服务..."
systemctl stop zabbix-server 2>/dev/null
systemctl stop zabbix-agent 2>/dev/null# Step 2: 启用 innodb_force_recovery
echo "[2/10] 启用 innodb_force_recovery=1 ..."
if grep -q "innodb_force_recovery" "$MYSQL_CONF"; thensed -i 's/^#\?\s*innodb_force_recovery=.*/innodb_force_recovery=1/' "$MYSQL_CONF"
elsesed -i '/^\[mysqld\]/a innodb_force_recovery=1' "$MYSQL_CONF"
fi# Step 3: 停止数据库服务
echo "[3/10] 停止 MariaDB 数据库..."
systemctl stop mariadb.service# Step 4: 启动数据库(恢复模式)
echo "[4/10] 启动 MariaDB (恢复模式)..."
systemctl start mariadb.service
sleep 3# Step 5-6: 删除并重建表
echo "[5/10] 连接数据库并修复表..."
$MYSQL_CMD <<EOF
USE $ZABBIX_DB;
DROP TABLE IF EXISTS history_uint;
CREATE TABLE \`history_uint\` (\`itemid\` bigint(20) unsigned NOT NULL,\`clock\` int(11) NOT NULL DEFAULT 0,\`value\` bigint(20) unsigned NOT NULL DEFAULT 0,\`ns\` int(11) NOT NULL DEFAULT 0,PRIMARY KEY (\`itemid\`,\`clock\`,\`ns\`)
) ENGINE=InnoDB
DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;
EOF# Step 7: 禁用 innodb_force_recovery
echo "[6/10] 禁用 innodb_force_recovery..."
sed -i 's/^innodb_force_recovery/#innodb_force_recovery/' "$MYSQL_CONF"# Step 8-9: 重启数据库
echo "[7/10] 重启 MariaDB..."
systemctl stop mariadb.service
sleep 2
systemctl start mariadb.service
sleep 3# Step 10: 启动 Zabbix 服务
echo "[8/10] 启动 Zabbix 服务..."
systemctl start zabbix-server
systemctl start zabbix-agentecho "==============================="
echo "数据库修复完成!"
echo "请登录 Zabbix 检查数据是否正常。"
echo "==============================="

4、执行脚本进行修复

在脚本所在目录,执行脚本即可修复history_uint表损坏的问题。

sudo ./zabbix_db_tools.sh

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/953093.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Azure MCP Server 1.0 正式发布

Microsoft 宣布了 Azure MCP Server 1.0.0 的稳定版本,并将其描述为云自动化和人工智能驱动开发新阶段的开始。 Microsoft MCP 是一个全面的模型上下文协议(MCP)实现,用于连接 AI Agent 与 Microsoft Azure 服务和…

dify+LLM+echarts打造智能可视化数据分析AI助手

以往遇到一些数据分析需求,比如:业务给了1份excel数据,需要开发做个报表对其进行分析,并以图表展示。通常需要得了解数据逻辑,进行适当开发。现在有了AI后,可以用dify搭建个智能数据分析助手,全自动处理。 1. 准…

[CSP-S 2025] 员工招聘

大概再也没法作为选手体验 OI 赛制的比赛了。。。不知道是好事还是坏事(退役了可以对着题目毫无心理压力地bb好爽( CF1437F Emotional Fishermen 带给我们的启示:带限制的排列计数问题一般都很困难,我们可以使用 d…

操作系统软考复习总结

今天学习了操作系统的相关知识,主要是对今天所学的进行总结: 在整个系统自上而下为应用软件、系统软件、操作系统、计算机硬件;后续还学写了PV操作信号量,P为申请一个资源 V是进行释放一个资源,PV操作对于后续再实…

2025 年 11 月废水蒸发器厂家权威推荐榜:MVR/薄膜刮板/单效/双效/三效/多效/高盐/含盐/降膜/结晶/mvr母液/氯化钠/硫酸铵/垃圾渗滤液/化工废水刮板/强制循环/废水脱盐蒸发器厂家精选

2025 年 11 月废水蒸发器厂家权威推荐榜:MVR/薄膜刮板/单效/双效/三效/多效/高盐/含盐/降膜/结晶/mvr母液/氯化钠/硫酸铵/垃圾渗滤液/化工废水刮板/强制循环/废水脱盐蒸发器厂家精选 一、行业技术发展现状 随着环保政…

2025 年 11 月防静电地板厂家推荐排行榜,全钢/全钢陶瓷/硫酸钙/铝合金/pvc架空/防静电地板,OA网络地板,机房防静电地板,办公室网络架空地板公司精选

2025 年 11 月防静电地板厂家推荐排行榜,全钢/全钢陶瓷/硫酸钙/铝合金/pvc架空/防静电地板,OA网络地板,机房防静电地板,办公室网络架空地板公司精选 一、行业背景与发展现状 随着信息技术和数字经济的快速发展,防…

11.1阅读笔记

弹性架构:不仅仅是“能用”​​ 这一部分让我对“设计”这个词有了全新的敬畏。以前我认为设计就是画UML类图,但现在我明白,​​设计是让软件能够优雅地应对变化​​。书中提到“让软件变得‘软’”,即容易修改,这…

2025 年 11 月 Pogopin 弹簧针厂家推荐排行榜,精密测试针,医疗传感器,手机连接器,声学弹簧,仪表锁具,座椅检测优质公司推荐!

2025 年 11 月 Pogopin 弹簧针厂家推荐排行榜,精密测试针,医疗传感器,手机连接器,声学弹簧,仪表锁具,座椅检测优质公司推荐! 随着工业4.0和智能制造的深入推进,Pogopin弹簧针、精密测试针、医疗传感器等精密连…

2025 年 11 月真空炉厂家推荐排行榜,真空热处理炉,真空回火炉,真空退火炉,真空时效炉,气淬炉,烧结炉,铜钨合金真空焊接炉公司推荐

2025年11月真空炉厂家推荐排行榜:专业选购指南 在高端制造业快速发展的背景下,真空热处理设备作为关键工艺装备,其性能直接影响产品质量和生产效率。真空炉、真空热处理炉、真空回火炉、真空退火炉、真空时效炉、气…

2025CSP游记

省流:跳了跳了 J组 前两题秒了 T3糖丸了,首先想到字典树,把序列做个前缀异或和丢到字典树上,然后就可以log级别找到异或和为 \(k\) 的区间了。最后将找出来的所有端点丢到dp里 然后发现做法全部假了,其实 \(O(1)\…

Redis单机和集群搭建

Redis单机和集群搭建Redis单机 services:redis:image: redis:8container_name: redis8-6379command: redis-server --requirepass "hepengju"restart: alwaysnetwork_mode: "host"environment:- T…

2025 年 11 月铣刀厂家推荐排行榜,雕刻机铣刀,金刚石铣刀,木工铣刀,绝缘材料铣刀,碳纤维铣刀,亚克力铣刀,金属加工铣刀公司推荐

2025 年 11 月铣刀厂家推荐排行榜:专业解析雕刻机铣刀与金属加工铣刀行业格局 行业背景与发展趋势 随着制造业向高精度、高效率方向不断发展,铣刀作为关键切削工具在工业生产中扮演着至关重要的角色。从传统的金属加…

电子丨LDO与DC-DC电源管理器件

目录1. LDO(低压差线性稳压器)2. DC-DC(直流-直流变换器)3. 核心区别总结4. 选型建议 在电子设计中,LDO和DC-DC是两种常见的电源管理器件,用于为电路提供稳定的电压。它们的原理、特点和应用场景有显著区别:1. …

2025 年 11 月不锈钢厂家推荐排行榜,301不锈钢,316L不锈钢,304不锈钢,420不锈钢,201不锈钢,不锈钢材料公司精选

2025 年 11 月不锈钢厂家推荐排行榜,301不锈钢,316L不锈钢,304不锈钢,420不锈钢,201不锈钢,不锈钢材料公司精选 不锈钢材料作为现代工业的基础原材料,其质量与性能直接影响着终端产品的可靠性和使用寿命。随着制…

CSP NOIP 2025 游记

省流:在排序面前一败涂地。 Day -INF 打 SCP-S 228 pts,打 T2 的时候发现本地跑 \(O(n\log n)\) TLE,于是想怎么进行 \(O(n)\) 排序,不知道为什么没有想到桶排,还好没有被卡常。 CSP-S Day 1 打 CSP-S T2,发现复…

2025年10月文章一览

2025 年 10 月编程人总共更新了 1 篇文章: 1.2025年9月文章一览 如果用一句话来形容 10 月,那就是“心里很着急,想做的太多,但是执行能力跟不上”,“路要一步一步走,饭要一口一口地吃”——还是慢慢来。欢迎搜索…

2025 CSP 游记

\(\text{Day -INF}\) 初赛 \(79/42.5\)。 初赛是在本校考的,甚至就是我们信息课的机房。 \(\text{1 h}\) 左右写完,趴桌子上睡了会,感觉太难受了就起来了,检查了几遍,然后发呆。 \(\text{Day 0.5}\) 中午 \(11\) …

市面上常见显示屏接口与对应的引脚 - 详解

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025年办公网第三方AI数据防泄露实战方案评测

2025年办公网第三方AI数据防泄露实战方案评测摘要场景:员工把客户信息、财务数据、代码、合同等内容粘贴到 ChatGPT/文心一言/Gemini/Claude 等第三方 AI。结论:在“办公网→外部 AI”的数据外发链路上,AI-FOCUS 团…

2025 年 11 月精密仪器厂家推荐排行榜,触摸仪表,手表锁具,医疗传感器,座椅测试针,Pogopin声学弹簧优质供应商精选

2025 年 11 月精密仪器厂家推荐排行榜,触摸仪表,手表锁具,医疗传感器,座椅测试针,Pogopin声学弹簧优质供应商精选 在当今快速发展的工业领域,精密仪器及相关组件的质量直接关系到终端产品的性能和可靠性。随着技…