平常处理过的MySQL问题--碎片处理

5.6 平常处理过的MySQL问题--碎片处理

环境:centos7.4,MySQL 5.7.20,InnoDB存储引擎

业务特点:数据量级较大,经常需要按月删除历史数据.

问题:磁盘空间占用很大,不释放

处理方法:

以前:将数据逻辑导出,手工drop表,然后导入进去

现在:

对表进行按月进行分表(partition,中间件)

业务替换为truncate方式

定期执行:

alter table t1 engine='innodb';

5.6 扩展:如何批量修改存储引擎

需求:将zabbix库中的所有表,innodb替换为tokudb

select concat("alter table zabbix.",table_name," engine tokudb;") from

information_schema.tables where table_schema='zabbix' into outfile '/tmp/tokudb.sql';

你可能感兴趣的:(平常处理过的MySQL问题--碎片处理)