昨天遇到了一个比较奇怪的问题,就是在挂起虚拟机的时候,虚拟机提示我XX脚本正在运行,很奇怪,我没有运行脚本,为什么会提示我这个呢。今天恢复虚拟机,也提示了一下脚本的问题,而且发现Linux明显异常:Tab补全命令用不了、vim文件进去之后提示Enter巴拉巴拉、shell卡顿。
搜了一下,这是磁盘空间满了。
查看磁盘空间[1]
df -h
而下列命令无法分析出具体的大文件[1]
du -sh *
而我从下面的命令,即分析大于100M的log结尾文件[2],找到了一丝蛛丝马迹
find -type f -size +100M -name "*.*" |xargs ls -l
当我cd到mycat的logs目录,分析当前目录下文件大小的时候,我震惊了,一共8个G,要知道这个虚拟机总共才分配了20个G。
看看日志里到底说了啥
日志里貌似说mycat的数据源的分组存在验证问题。具体啥意思不懂,没事,继续搜。github上有人说是navicat不兼容mycat2导致的[3]
问题到这里似乎就明晰了,猜测应该是和navicat和mycat2不兼容,导致mycat2的日志一直暴增。这个虚拟机是我个人的一个虚拟机,mycat连接的一主二从中master的redo log(ib_logfile0 1)、undo log、bin log,从几百k到十几M不等,虽然和那寥寥几条测试数据比起来确实不小,但是跟mycat这8个G的日志比起来也是小意思了。所以mysql应该是正常的,有问题的是mycat2。
后面我会换成sqlyog这个IDE试一下,或者换回之前用的datagrip,这个IDE在显示数据源的所有库上有bug,无法显示数据源的库,但是在使用datagrip时没有这个问题。
参考文章:
[1],Linux /dev/sda3 100%解决
[2],Linux中磁盘空间始终被占满问题解决
[3],控制台报错:WITHIN GROUP not allowed with group_concat function,但又没有什么影响? #679