Hello,
I am in the process of migrating from a zabbix 3.0 to a 6.0
I would like to change the table partitioning method but I don't know how to do it
Currently, my scores are in pYYYY-MM
CREATE TABLE `trends` (
`itemid` bigint(20) unsigned NOT NULL,
`clock` int(11) NOT NULL DEFAULT 0,
`num` int(11) NOT NULL DEFAULT 0,
`value_min` double NOT NULL DEFAULT 0,
`value_avg` double NOT NULL DEFAULT 0,
`value_max` double NOT NULL DEFAULT 0,
PRIMARY KEY (`itemid`,`clock`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin
PARTITION BY RANGE (`clock`)
(PARTITION `p2021_04` VALUES LESS THAN (1619820000) ENGINE=InnoDB,
PARTITION `p2021_05` VALUES LESS THAN (1622498400) ENGINE=InnoDB,
PARTITION `p2021_06` VALUES LESS THAN (1625090400) ENGINE=InnoDB,
PARTITION `p2021_07` VALUES LESS THAN (1627768800) ENGINE=InnoDB,
PARTITION `p2021_08` VALUES LESS THAN (1630447200) ENGINE=InnoDB,
PARTITION `p2021_09` VALUES LESS THAN (1633039200) ENGINE=InnoDB,
PARTITION `p2021_10` VALUES LESS THAN (1635721200) ENGINE=InnoDB,
PARTITION `p2021_11` VALUES LESS THAN (1638313200) ENGINE=InnoDB,
PARTITION `p2021_12` VALUES LESS THAN (1640991600) ENGINE=InnoDB,
PARTITION `p2022_01` VALUES LESS THAN (1643670000) ENGINE=InnoDB,
PARTITION `p2022_02` VALUES LESS THAN (1646089200) ENGINE=InnoDB,
PARTITION `p2022_03` VALUES LESS THAN (1648764000) ENGINE=InnoDB,
PARTITION `p2022_04` VALUES LESS THAN (1651356000) ENGINE=InnoDB,
PARTITION `p2022_05` VALUES LESS THAN (1654034400) ENGINE=InnoDB,
PARTITION `p2022_06` VALUES LESS THAN (1656626400) ENGINE=InnoDB,
PARTITION `p2022_07` VALUES LESS THAN (1659304800) ENGINE=InnoDB,
PARTITION `p2022_08` VALUES LESS THAN (1661983200) ENGINE=InnoDB,
PARTITION `p2022_09` VALUES LESS THAN (1664575200) ENGINE=InnoDB,
PARTITION `p2022_10` VALUES LESS THAN (1667257200) ENGINE=InnoDB,
PARTITION `p2022_11` VALUES LESS THAN (1669849200) ENGINE=InnoDB,
PARTITION `p2022_12` VALUES LESS THAN (1672527600) ENGINE=InnoDB,
PARTITION `p2023_01` VALUES LESS THAN (1675206000) ENGINE=InnoDB,
PARTITION `p2023_02` VALUES LESS THAN (1677625200) ENGINE=InnoDB,
PARTITION `p2023_03` VALUES LESS THAN (1680300000) ENGINE=InnoDB,
PARTITION `p2023_04` VALUES LESS THAN (1682892000) ENGINE=InnoDB,
PARTITION `p2023_05` VALUES LESS THAN (1685570400) ENGINE=InnoDB,
PARTITION `p2023_06` VALUES LESS THAN (1688162400) ENGINE=InnoDB,
PARTITION `p2023_07` VALUES LESS THAN (1690840800) ENGINE=InnoDB,
PARTITION `p2023_08` VALUES LESS THAN (1693519200) ENGINE=InnoDB)
I would like to recover all of my data and switch to partitions like this:
p202206180000
More precisely, I would like to derive on this kind of script:
How can I recover all my values and transfer them to the new tables in the correct format?
I am in the process of migrating from a zabbix 3.0 to a 6.0
I would like to change the table partitioning method but I don't know how to do it
Currently, my scores are in pYYYY-MM
CREATE TABLE `trends` (
`itemid` bigint(20) unsigned NOT NULL,
`clock` int(11) NOT NULL DEFAULT 0,
`num` int(11) NOT NULL DEFAULT 0,
`value_min` double NOT NULL DEFAULT 0,
`value_avg` double NOT NULL DEFAULT 0,
`value_max` double NOT NULL DEFAULT 0,
PRIMARY KEY (`itemid`,`clock`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin
PARTITION BY RANGE (`clock`)
(PARTITION `p2021_04` VALUES LESS THAN (1619820000) ENGINE=InnoDB,
PARTITION `p2021_05` VALUES LESS THAN (1622498400) ENGINE=InnoDB,
PARTITION `p2021_06` VALUES LESS THAN (1625090400) ENGINE=InnoDB,
PARTITION `p2021_07` VALUES LESS THAN (1627768800) ENGINE=InnoDB,
PARTITION `p2021_08` VALUES LESS THAN (1630447200) ENGINE=InnoDB,
PARTITION `p2021_09` VALUES LESS THAN (1633039200) ENGINE=InnoDB,
PARTITION `p2021_10` VALUES LESS THAN (1635721200) ENGINE=InnoDB,
PARTITION `p2021_11` VALUES LESS THAN (1638313200) ENGINE=InnoDB,
PARTITION `p2021_12` VALUES LESS THAN (1640991600) ENGINE=InnoDB,
PARTITION `p2022_01` VALUES LESS THAN (1643670000) ENGINE=InnoDB,
PARTITION `p2022_02` VALUES LESS THAN (1646089200) ENGINE=InnoDB,
PARTITION `p2022_03` VALUES LESS THAN (1648764000) ENGINE=InnoDB,
PARTITION `p2022_04` VALUES LESS THAN (1651356000) ENGINE=InnoDB,
PARTITION `p2022_05` VALUES LESS THAN (1654034400) ENGINE=InnoDB,
PARTITION `p2022_06` VALUES LESS THAN (1656626400) ENGINE=InnoDB,
PARTITION `p2022_07` VALUES LESS THAN (1659304800) ENGINE=InnoDB,
PARTITION `p2022_08` VALUES LESS THAN (1661983200) ENGINE=InnoDB,
PARTITION `p2022_09` VALUES LESS THAN (1664575200) ENGINE=InnoDB,
PARTITION `p2022_10` VALUES LESS THAN (1667257200) ENGINE=InnoDB,
PARTITION `p2022_11` VALUES LESS THAN (1669849200) ENGINE=InnoDB,
PARTITION `p2022_12` VALUES LESS THAN (1672527600) ENGINE=InnoDB,
PARTITION `p2023_01` VALUES LESS THAN (1675206000) ENGINE=InnoDB,
PARTITION `p2023_02` VALUES LESS THAN (1677625200) ENGINE=InnoDB,
PARTITION `p2023_03` VALUES LESS THAN (1680300000) ENGINE=InnoDB,
PARTITION `p2023_04` VALUES LESS THAN (1682892000) ENGINE=InnoDB,
PARTITION `p2023_05` VALUES LESS THAN (1685570400) ENGINE=InnoDB,
PARTITION `p2023_06` VALUES LESS THAN (1688162400) ENGINE=InnoDB,
PARTITION `p2023_07` VALUES LESS THAN (1690840800) ENGINE=InnoDB,
PARTITION `p2023_08` VALUES LESS THAN (1693519200) ENGINE=InnoDB)
I would like to recover all of my data and switch to partitions like this:
p202206180000
More precisely, I would like to derive on this kind of script:
How can I recover all my values and transfer them to the new tables in the correct format?
umper;
Comment