首页 > 解决方案 > 如何在 mariadb 的 zabbix 中删除 sysdate -50 分区

问题描述

我不是 dba 或 plsql 开发人员,我正在尝试删除 mariadb 中保留 zabbix 数据的旧分区。基本上我必须创建必须删除给定表中的旧分区的存储过程。

在此过程之后,执行表必须保留最近 50 天的分区。并且表分区按小时计算,因此在执行过程后分区计数应为 50*24=1200。

或者我可以在其中编写获得“alter table drop partition”语句的sql语句吗?

测试表详细信息(与原表相同);

   desc histtest;
    +--------+---------------------+------+-----+---------+-------+
    | Field  | Type                | Null | Key | Default | Extra |
    +--------+---------------------+------+-----+---------+-------+
    | itemid | bigint(20) unsigned | NO   | MUL | NULL    |       |
    | clock  | int(11)             | NO   |     | 0       |       |
    | value  | bigint(20) unsigned | NO   |     | 0       |       |
    | ns     | int(11)             | NO   |     | 0       |       |
    +--------+---------------------+------+-----+---------+-------+

程序应保留 max sysdate -50 数据。按小时创建的分区

分区名称;

    | p201803250200  | (think as first partition has data)
    | p201803250300  |
    | p201803250400  |
   ...     
    | p201807251700  |(think as last partition has data)

服务器版本:10.1.31-MariaDB MariaDB Server

红帽 Linux 7

标签: mysqlmariadbpartitioning

解决方案


推荐阅读