当前位置: 首页 > news >正文

清理zabbix数据库ibdata1文件

zabbix经过长时间的运行导致ibdata1文件的数据持续增加,mysql之前是没有配置表空间,InnoDB 默认会将所有的数据库InnoDB引擎的表数据存储在一个共享空间中:ibdata1,久而久之给后续的维护带来障碍

表结构含义
history历史监控记录,存放数值(int)类型的的监控采集结果相关主要字段含义
history_text历史监控记录,存放字符无限制长度的监控采集结果
history_uint存放非整形的历史监控信息

1. 查看文件大小

[root@zabbix ~]# ll -h /var/lib/mysql/ibdata1 
-rw-rw---- 1 mysql mysql 39G Mar 23 15:26 /var/lib/mysql/ibdata1

&查看表数据,基本也就是history的数据比较多,可以选择清空
MariaDB [zabbix]> select table_name, (data_length+index_length)/1024/1024 as total_mb, table_rows from information_schema.tables where table_schema='zabbix';
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id:    30574
Current database: zabbix
+----------------------------+--------------+------------+
| table_name                 | total_mb     | table_rows |
+----------------------------+--------------+------------+
| history                    | 977.00000000 |   12077740 |
| history_log                |   0.03125000 |          0 |
| history_str                |  37.56250000 |     265294 |
| history_text               |  21.14062500 |     195417 |
| history_uint               | 563.85937500 |    6866603 |

2. 停止zabbix主服务,清理表数据

2.1 完全清理历史数据

&我是用docker启动的
[root@zabbix zabbix]# docker-compose -f docker-zabbix.yaml stop
[root@zabbix ~]# mysql -uroot -p
Enter password:
&清理表数据
MariaDB > truncate table history;
Query OK, 2423866533 rows affected (0.23 sec) 
&优化表重新组织表数据和相关索引数据的物理存储
MariaDB > optimize table history; 
1 row in set (0.02 sec)
 
MariaDB > truncate table history_uint;
Query OK, 752790562 rows affected (0.12 sec) 
 
MariaDB > optimize table history_uint;
1 row in set (0.03 sec)

2.2 筛选日期清理历史数据,按照表结构clock字段时间戳
时间:2023-02-27 14:29:02 时间戳:1677479342

&清理小于2月27之前的数据
MariaDB [(none)]> DELETE FROM history WHERE clock < 1677479342;
MariaDB [(none)]> DELETE FROM history_uint WHERE clock < 1677479342;

3. 备份原数据,删除ibdata1文件,配置独立表空间

&备份数据
[root@zabbix ~]# mysqldump -uroot -p zabbix > zabbix.sql
&停止数据库
[root@zabbix ~]# systemctl stop mariadb
&移动文件到临时目录
[root@zabbix ~]# cd /var/lib/mysql/
[root@zabbix ~]# mv ibdata1 /tmp/
&配置参数
[root@zabbix ~]# vi /etc/my.cnf
[mysqld]
innodb_file_per_table=1
&启动mysql
[root@zabbix ~]# systemctl start mariadb
&查看配置已生效
MariaDB [(none)]> show variables like '%per_table%';
+-----------------------+-------+
| Variable_name         | Value |
+-----------------------+-------+
| innodb_file_per_table | ON    |
+-----------------------+-------+

4. 恢复数据

4.1 我这里的版本为5.5.68-MariaDB,使用mysqldump恢复时报错

&(1)
mysqldump: Got error: 1146: Table XXXXXXXXX‘ doesn‘t exist when using LOCK TABLES
删除/var/lib/mysql/zabbix/所有.frm文件 
&(2) 
*mysqldump导入后无效
mysqldump -uroot -p zabbix < zabbix.sql    
*增加--database参数正常
mysqldump -uroot -p --database zabbix < zabbix.sql
*还有一种source文件导入
[root@zabbix ~]# mysql -uroot -p
MariaDB [(none)]> use zabbix;

Database changed
MariaDB [zabbix]> source /root/zabbix.sql
Query OK, 0 rows affected (0.00 sec)
Query OK, 0 rows affected (0.00 sec)
Query OK, 0 rows affected (0.00 sec)

5. 启动zabbix

&我是用docker启动的
[root@zabbix zabbix]# docker-compose -f docker-zabbix.yaml up -d 
&ibdata1文件大小已下降
[root@zabbix zabbix]# cd /var/lib/mysql/
[root@zabbix mysql]# ll -h ibdata1 
-rw-rw---- 1 mysql mysql 18M Mar 27 15:04 ibdata1

相关文章:

  • 蛇形走线用在哪里,一文告诉你
  • 什么是“关键对话”?“关键对话”背后的底层思维是什么?如何进行一场“关键对话”?
  • java基础知识——11.方法
  • 什么是web3?未来趋势?怎么学?
  • 2023第二届浙江省技能大赛温州市选拔赛任务书
  • 技术分享及探讨
  • NDK(四):Native与Java互调
  • SpringSecurity
  • 机器学习:基于逻辑回归对优惠券使用情况预测分析
  • 米哈游春招后端-2023.03.19-第一题-米哈游的RBG矩阵-简单
  • 教你精通JavaSE语法之第九章、抽象类和接口
  • 龙芯2K1000开发板拷贝镜像到固态
  • 前端计算文件 hash
  • ChatGPT写作文章-快速使用ChatGPT不用注册方式
  • 2万字60道MySQL经典面试题总结(附答案)
  • 2017前端实习生面试总结
  • 4个实用的微服务测试策略
  • angular学习第一篇-----环境搭建
  • Javascript弹出层-初探
  • java正则表式的使用
  • LeetCode541. Reverse String II -- 按步长反转字符串
  • Rancher如何对接Ceph-RBD块存储
  • Transformer-XL: Unleashing the Potential of Attention Models
  • vue2.0一起在懵逼的海洋里越陷越深(四)
  • 对超线程几个不同角度的解释
  • 复杂数据处理
  • 类orAPI - 收藏集 - 掘金
  • 免费小说阅读小程序
  • 让你的分享飞起来——极光推出社会化分享组件
  • 如何实现 font-size 的响应式
  • 使用SAX解析XML
  • 智能网联汽车信息安全
  • 仓管云——企业云erp功能有哪些?
  • 格斗健身潮牌24KiCK获近千万Pre-A轮融资,用户留存高达9个月 ...
  • #大学#套接字
  • (1)(1.13) SiK无线电高级配置(六)
  • (C++)八皇后问题
  • (M)unity2D敌人的创建、人物属性设置,遇敌掉血
  • (Redis使用系列) SpringBoot中Redis的RedisConfig 二
  • (webRTC、RecordRTC):navigator.mediaDevices undefined
  • (附源码)ssm旅游企业财务管理系统 毕业设计 102100
  • (每日持续更新)jdk api之FileReader基础、应用、实战
  • (原創) X61用戶,小心你的上蓋!! (NB) (ThinkPad) (X61)
  • ./include/caffe/util/cudnn.hpp: In function ‘const char* cudnnGetErrorString(cudnnStatus_t)’: ./incl
  • .CSS-hover 的解释
  • .gitattributes 文件
  • .NET 4 并行(多核)“.NET研究”编程系列之二 从Task开始
  • .NET Core日志内容详解,详解不同日志级别的区别和有关日志记录的实用工具和第三方库详解与示例
  • .NET Standard / dotnet-core / net472 —— .NET 究竟应该如何大小写?
  • .Net 访问电子邮箱-LumiSoft.Net,好用
  • .NET 中各种混淆(Obfuscation)的含义、原理、实际效果和不同级别的差异(使用 SmartAssembly)
  • .NET/C# 异常处理:写一个空的 try 块代码,而把重要代码写到 finally 中(Constrained Execution Regions)
  • .NET国产化改造探索(一)、VMware安装银河麒麟
  • .net中我喜欢的两种验证码
  • ??myeclipse+tomcat