公司用的阿里云的RDS数据库
经常磁盘空间超过80%
后来发现有一个表message数据就30万,却占用了65G空间,非常不正常。
后来发现有一个命令,可以释放表空间。
命令如下
optimize table message;
等了几分钟执行完了,表空间占用了680M
磁盘空间就下降到11%
太有效果了。
这个表数据写的非常频繁,但是每隔一个小时会将数据转移到另外一个表。
所以最好每天释放一下,我就写了一个脚本。
message_release.sh
*部分是机密,内容如下:
#!/bin/bash
mysql -u xx* -pxx_123** -h rdsxh5***.mysql.rds.aliyuncs.com -e "use dts;optimize table message"
写个任务计划,定期执行
#释放message表空间
30 23 * * * /manage/message_release.sh