Linux系统磁盘空间不足Zabbix服务器数据库迁移

2017-11-21 23:06 数据库 loodns

  今天登岸Zabbix,发觉zabbix-server磁盘曾经跨越了80%,发出了告警,如图:

  上面几个就是数据比力大的表,那么我们沉点就是对他们开刀。果为数据量太大,按照通俗的体例delete数据的话根基上不太可能。所以决定间接采用truncate table的体例来快速清空那些表的数据,再利用mysqldump导出数据,删除共享表空间数据文件,从头导入数据。

  留意!若是正在那一步,你先选择了delete,好比先删除了history_uint里7天之前的数据:

  可是你删了半天,发觉数据量太大,那么删太慢了,又想到zabbix还无每小时统计一次的趋向数据,所以想干脆连7天的记实都不要了,于是查觅并干掉了delete历程然后改用了truncate,如下:

  如许的话,你会发觉truncate的速度很很慢的,就会很奇异。谜底其实不是truncate慢,而是间接死锁了!那个时候若是查看一下线程就会发觉truncate反正在期待insert 、select等等锁。

  点窜,正在[mysqld]添加一句:innodb_file_per_table=1,那是点窜InnoDB为独立表空间模式,每个数据库的每个表城市生成一个数据空间。同时也要点窜数据库存放目次:

  那个可能是数据库缓存形成的,那个时候能够正在数据库里利用FLUSH TABLES; ,不外那多半会欠好使。

  那么那个时候,就去新的mysql目次夹,即/ZabbixDB/DB,然后进入数据库zabbix,发觉那个文件夹无良多文件,可是每一个文件都是既无一个.ibd又无一个.frm的,而那个“globalmacro”是只要ibd而没无.frm的,所以那个时候我们能够先把那个globalmacro.ibd转移到此外处所去,然后从头施行

  本坐(LinuxIDC)所刊载文章不代表同意其说法或描述,仅为供给更多消息,也不形成任何建议。

发表评论:

最近发表