特别提醒:

a、文中测试的Zabbix版本为 3.0.3 。

b、清理数据属于高危操作,请在测试环境中验证后再执行线上操作!!!

1、统计数据库中每个表所占的空间:

mysql> SELECT table_name AS "Tables",
  round(((data_length + index_length) / 1024 / 1024), 2) "Size in MB"
  FROM information_schema.TABLES
  WHERE table_schema = 'zabbixdb'
  ORDER BY (data_length + index_length) DESC;

2、清理zabbix一周之前的历史数据:

!/bin/bash
User="zabbixuser"
Passwd="zabbixpass"
Date=`date -d $(date -d "-7 day" +%Y%m%d) +%s` #取7天之前的时间戳
$(which mysql) -u${User} -p${Passwd} -e "
use zabbixdb;
DELETE FROM history WHERE 'clock' < $Date;
optimize table history;
DELETE FROM history_str WHERE 'clock' < $Date;
optimize table history_str;
DELETE FROM history_uint WHERE 'clock' < $Date;
optimize table history_uint;
DELETE FROM history_text WHERE 'clock' < $Date;
optimize table history_text;
DELETE FROM trends WHERE 'clock' < $Date;
optimize table trends;
DELETE FROM trends_uint WHERE 'clock' < $Date;
optimize table trends_uint;
DELETE FROM events WHERE 'clock' < $Date;
optimize table events;
"

3、添加到系统计划任务:

#remove the zabbix mysql data before 7 day's ago
0 3 * * 0 /usr/local/script/clearzabbix.sh > /usr/local/script/clearzabbix.log

另:可以使用truncate命令直接清空数据库:

truncate table history;
truncate table history_uint;
truncate table history_str;
truncate table history_text;
truncate table trends;
truncate table trends_uint;
truncate table events;

如果想要删除表的所有数据,truncate语句要比 delete 语句快

因为 truncate 删除了表,然后根据表结构重新建立它,而 delete 删除的是记录,并没有尝试去修改表。

不过truncate命令虽然快,却不像delete命令那样对事务处理是安全的。

因此,如果我们想要执行truncate删除的表正在进行事务处理,这个命令就会产生退出并产生错误信息。

[THE END]

最新文章

  1. MVC FormCollection collection
  2. ClassLoader 机制
  3. leetcode题解: Remove Duplicates from Sorted List(已排序单链表去重)
  4. hdu-5692 Snacks(dfs序+线段树)
  5. NIO学习:buffer读入与写出(文件复制示例)
  6. 搭建Ubuntu环境中的Error [dpkg 被中断,您必须手工运行 sudo dpkg --configure -a 解决此问题][安装Flashplayer出错 ]
  7. Linux系统英文切换中文
  8. 数据库基础——(SQLserver)约束
  9. vuejs中执行npm run dev出现页面cannot GET/问题
  10. python实现简单的购物车
  11. Web前端3.0时代,“程序猿”如何“渡劫升仙”
  12. google guava Multimap的学习介绍
  13. Java多线程编程模式实战指南一:Active Object模式(下)
  14. Sqlserver2008R2配置数据库镜像之我的经验总结
  15. Appium移动自动化测试(一)----Appium的安装
  16. go语言学习--map的并发
  17. 触摸屏 adb调试
  18. oneinstack远程管理数据库
  19. Codeforces Round #275 (Div. 2) 题解
  20. CentOS 7 安装vsftpd 服务器

热门文章

  1. bootstrap模态框modal使用remote动态加载内容,第二次加载显示相同内容解决办法
  2. flutter-StatelessWidget与StatefulWidget
  3. select、poll、epoll之间的区别(搜狗面试)
  4. python之路--MySQl单表查询
  5. linux重装系统,如何保存硬盘中的内容
  6. WPF实现滚动显示的TextBlock
  7. 莫烦keras学习自修第一天【keras的安装】
  8. Java语言支持的3种变量类型
  9. Fiddler 学习笔记---命令、断点
  10. 洛谷 P1102 A−B数对