zabbix进行数据库备份以及表分区的方法

2019-10-14 10:05:12于丽

上面四个存储过程执行后将可以使用

CALL partition_maintenance('<zabbix_db_name>', '<table_name>', <days_to_keep_data>, <hourly_interval>, <num_future_intervals_to_create>)

命令对想要分区的表进行表分区了。其中的参数我这里解释一下。

这是举例:

CALL partition_maintenance(zabbix, 'history_uint', 31, 24, 14);

zabbix_db_name:库名

table_name:表名

days_to_keep_data:保存多少天的数据

hourly_interval:每隔多久生成一个分区

num_future_intervals_to_create:本次一共生成多少个分区

这个例子就是history_uint表最多保存31天的数据,每隔24小时生成一个分区,这次一共生成14个分区

这里可以将上面四个存储过程保存为一个文件,导入到数据库中,文件我稍后将会放在附件中,这里使用的命令是:mysql -uzabbix -pzabbix zabbix<partition_call.sql

然后可以将CALL统一调用也做成一个文件,统一调用的内容如下:

DELIMITER $$
CREATE PROCEDURE `partition_maintenance_all`(SCHEMA_NAME VARCHAR(32))
BEGIN
       CALL partition_maintenance(SCHEMA_NAME, 'history', 31, 24, 14);
       CALL partition_maintenance(SCHEMA_NAME, 'history_log', 31, 24, 14);
       CALL partition_maintenance(SCHEMA_NAME, 'history_str', 31, 24, 14);
       CALL partition_maintenance(SCHEMA_NAME, 'history_text', 31, 24, 14);
       CALL partition_maintenance(SCHEMA_NAME, 'history_uint', 31, 24, 14);
       CALL partition_maintenance(SCHEMA_NAME, 'trends', 180, 24, 14);
       CALL partition_maintenance(SCHEMA_NAME, 'trends_uint', 180, 24, 14);
END$$
DELIMITER ;

也将该文件导入到数据库中,使用命令:mysql -uzabbix -pzabbix zabbix<partition_all.sql

好了,到了这里之后就可以使用如下命令执行表分区了:

mysql -uzabbix -pzabbix zabbix -e "CALL partition_maintenance_all('zabbix');"
+----------------+--------------------+
| table          | partitions_deleted |
+----------------+--------------------+
| zabbix.history | N/A                |
+----------------+--------------------+
+--------------------+--------------------+
| table              | partitions_deleted |
+--------------------+--------------------+
| zabbix.history_log | N/A                |
+--------------------+--------------------+
+--------------------+--------------------+
| table              | partitions_deleted |
+--------------------+--------------------+
| zabbix.history_str | N/A                |
+--------------------+--------------------+
+---------------------+--------------------+
| table               | partitions_deleted |
+---------------------+--------------------+
| zabbix.history_text | N/A                |
+---------------------+--------------------+
+---------------------+--------------------+
| table               | partitions_deleted |
+---------------------+--------------------+
| zabbix.history_uint | N/A                |
+---------------------+--------------------+
+---------------+--------------------+
| table         | partitions_deleted |
+---------------+--------------------+
| zabbix.trends | N/A                |
+---------------+--------------------+
+--------------------+--------------------+
| table              | partitions_deleted |
+--------------------+--------------------+
| zabbix.trends_uint | N/A                |
+--------------------+--------------------+