q3256 发表于 2019-1-20 11:28:52

Zabbix数据库优化

  部署过Zabbix的运维工程师都知道,Zabbix的数据和图片是存储在MySQL上的,所以时间的增长,数据也会越来越大,所以需要删除Zabbix一些无用的表。这里提供一个自己写的Zabbix数据库删除,如果想为了更安全,请事先备份到其他硬盘空间,并定期删除备份内容。
  #!/usr/bin/perl
  #Description:Optimize Zabbix Mysql
###################Perl DBI for Mysql#####################
use warnings;
use strict;
use DBI;

#my $db_name=shift;
#my $db_user=shift;
#my $db_key=shift;
my @opname=qw(history history_str history_str_sync history_sync history_text events trends);
my $dbh=DBI->connect("DBI:mysql:zabbix","zabbix","KINGCARL");
die "Connect failed:".DBI->errstr() unless $dbh;
print "Connect successful!\n";
my $sth=$dbh->prepare("use zabbix");   
$sth->execute() or die "execute failed:".$sth.errstr();
foreach my $op (@opname) {
$sth=$dbh->prepare("truncate table $op");
$sth->execute() or die "execute failed:".$sth.errstr();
$sth=$dbh->prepare("optimize table $op");
$sth->execute() or die "execute failed:".$sth.errstr();
}
$sth->finish();
$dbh->disconnect();
print "Truncated successfully !\n";



页: [1]
查看完整版本: Zabbix数据库优化