How to do it...

You can create a table like this:

mysql> CREATE TABLE `customer_data` (  `id` int(11) NOT NULL AUTO_INCREMENT,  `msg` text,  `timestamp` bigint(20) NOT NULL DEFAULT '0',  `expires` bigint(20) NOT NULL DEFAULT '0',  `soft_delete` tinyint(3) unsigned NOT NULL DEFAULT '1',  PRIMARY KEY (`id`,`expires`,`soft_delete`)) ENGINE=InnoDB DEFAULT CHARSET=utf8/*!50500 PARTITION BY RANGE COLUMNS(soft_delete,expires)(PARTITION no_retention VALUES LESS THAN (0,MAXVALUE) ENGINE = InnoDB, PARTITION long_retention VALUES LESS THAN (1,MAXVALUE) ENGINE = InnoDB, PARTITION pd20171017 VALUES LESS THAN (2,1508198400000) ENGINE = InnoDB, PARTITION pd20171018 VALUES LESS THAN (2,1508284800000) ENGINE = InnoDB, PARTITION pd20171019 VALUES LESS THAN (2,1508371200000) ...

Get MySQL 8 Cookbook now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.