mysql报错导致服务器磁盘被写满

有玩家反应游戏登录不上,查看服务器进程还在,然后去看服务器日志文件,错误是mybatis 更新玩家信息时数据库一个字段的长度太小了,第一反应就是把数据库字段加长,发现执行不了sql语句,百度才发现是因为磁盘满了,赶紧用命令查一下

df -h

这里写图片描述 (/dev/vda1 使用100% 图片只是举列子)
果然是磁盘满了,定位一下文件的位置,查找大于100M以上的文件

find / -type f -size +100000000c -exec du -sh {} \;

发现就是游戏服务器的错误日志,然后直接用命令把错误日志全删了(后面想了想,应该备份一下)

rm -rf logs/*

删除了以后继续在数据库执行sql语句,发现还是不可以,我还以为是mysql的问题,重启mysqlq失败,百度原因还是磁盘满了,???,日志文件不是已经删除了吗? 用df -h 命令重新看下磁盘空间又变满了,但是日志文件已经没了,有点懵了,
后面找到一篇文章,发现原因是 :

Linux系统中虽然删除了磁盘中的文件,但是由于进程还在运行当中所以无法释放磁盘空间,这种情况就会出现磁盘空间无故被占用。

链接 http://blog.csdn.net/haoweilaizoule/article/details/56833131

查到原因后赶紧把服务器进程停了,然后重启mysql 修改字段,重启服务器,解决。

以下附上百度中查询到的mysql其他相关问题
- 磁盘满了MySQL会做什么
http://www.cnblogs.com/billyxp/p/3675820.html
- linux查看哪个进程占用磁盘IO
http://blog.csdn.net/daiyudong2020/article/details/53863314

你可能感兴趣的:(mysql,mysql,服务器,磁盘)