今天照常打开日志文件查看日志,结果发现一大堆报错:“The MySQL server is running with the LOCK_WRITE_GROWTH option so it cannot execute this statement”,遂查了一下原来是阿里云的数据库被锁了
锁住的原因是因为磁盘占用满了,触发了阿里云的保护机制,自动给锁上了
我们可以去分析一下是哪些表占用了多的空间,通过命令
select TABLE_NAME, concat(truncate(data_length/1024/1024,2),’ MB’) as data_size,
concat(truncate(index_length/1024/1024,2),’ MB’) as index_size
from information_schema.tables where TABLE_SCHEMA = ‘数据库名称’
group by TABLE_NAME
order by data_length desc;
可以看到排在前面几个的都是数据和索引占用比较大的,这时候就可以根据自身情况对这些表进行相应数据的删除操作
通过Drop(删除整个表)或者truncate(只删除里面的数据)将表里面的数据给清理干净即可
注意此时无法重启,因为数据库状态还是在锁定中,清理完成后等待几分钟便可恢复正常