今天遇见一个mysql数据库提示full的问题。
问题描述:MySQL数据库提示:数据库满,可以查询,无法插入和delete。
查询应用,Java报错数据库满。
后来发现:磁盘满了。
释放了100M的空间以后,仍然无法插入和delete。
解决方法:去磁盘delete老旧的日志、临时文件将磁盘空间降低到80%以下,数据插入立刻恢复了。也可以使用delete了。由于rm有问题,所以继续使用delete语句释放磁盘空间,将系统内存占用降低到60%。
mysql里面的数据库是以文件的方式储存在系统里面的,如果必要可以直接登陆服务器rm临时的(和drop一样,不可恢复)数据库文件,将磁盘空间降低到可以接受的程度;第二种是rm日志文件(经过劝告,可以保留mysql日志文件,保留故障信息以便后来核实),将磁盘释放到可以delete的程度。
故障原因:一个数据库日志过大,每天写入大量日志,导致磁盘空间被用光。之前也遇见过故障打的日志一天好几个t的情况,所以尽量要保证磁盘占用在70%以下,我们系统没做。
一个简单的bug,不过影响比较大,记录一下。
版权声明:本文为weixin_45642669原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。