概述
本文主要介绍如何释放MySQL实例的表空间。
详细信息
阿里云提醒您:
- 如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。
- 如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。
- 如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。
MySQL可以通过optimize table
命令释放表空间,重组表数据和索引的物理页,减少所占空间和优化读写性能。如果使用delete
命令删除数据库,表空间不会直接回收,您可以用optimize table
释放表空间。
注意事项
- 操作将会锁表,建议在业务低峰期操作。
- 仅Innodb和MyISAM引擎支持
optimize table
命令。
通过命令行操作
- 使用通用客户端连接MySQL数据库,本文以MySQL-Front为例进行演示。
- 在右侧选择SQL编辑器页签。
- 在命令行中执行如下SQL语句释放表空间。
optimize table [$Database1].[Table1],[$Database2].[Table2]
注:[$Database1]与[$Database2]为数据库名,[Table1]与[Table2]为表名。
系统显示类似如下。
通过DMS操作
- 通过DMS登录MySQL数据库。
- 在左侧选择数据库,在任意表上单击鼠标右键,单击
- 在弹出的批量操作表中勾选需要释放空间的表,单击 。
- 在弹出的对话框中单击 Yes。
适用于
- 云数据库 RDS MySQL 版