昨天晚上服务器宕机两次..

第一次,没发现是硬盘的问题.重启下服务器.网站就正常了.

还没过半小时服务器又挂了.然后重启下,发现mysql启动不了.看了下日志,发现是硬盘满了.

先简单使用命令清理下硬盘,清理了系统log目录和tmp目录

清理出5G左右.然后mysql能正常启动.

先临时跑起来再说,

 

查找问题

因为我数据库不大.数据库实际大小不超过20M.

网站也没有任何上传文件.网站打开100MB左右.

 

越想越不对.

然后用命令查看,var目录使用了35GB

[root@VM-12-4-centos /]# du -sh * | sort -n
du: cannot access ‘proc/2720/task/2720/fd/4’: No such file or directory
du: cannot access ‘proc/2720/task/2720/fdinfo/4’: No such file or directory
du: cannot access ‘proc/2720/fd/4’: No such file or directory
du: cannot access ‘proc/2720/fdinfo/4’: No such file or directory
0	bin
0	dev
0	lib
0	lib64
0	proc
0	sbin
0	snap
0	sys
1.1G	root
1.1G	swapfile
3.2G	usr
4.0K	media
4.0K	mnt
4.0K	srv
8.5M	run
16K	lost+found
35G	var
40K	tmp
60M	etc
65M	opt
104K	home
207M	boot

 

继续查看

是lib目录,继续查看发现是mysql目录

也就是/var/lib/mysql

一看,发现里面大量 1.1G的文件.

[root@VM-12-4-centos mysql]# du -sh * | sort -n
0	mysql.sock
1.1G	alex.000009
1.1G	alex.000011
1.1G	alex.000012
1.1G	alex.000014
1.1G	alex.000015
1.1G	alex.000016
1.1G	alex.000017
1.1G	alex.000022
1.1G	alex.000023
1.1G	alex.000024
1.1G	alex.000025
1.1G	alex.000026
1.1G	alex.000027
1.1G	alex.000028
1.1G	alex.000029
1.1G	alex.000030
1.1G	alex.000031
1.1G	alex.000032
1.1G	alex.000033
1.1G	alex.000034
1.1G	alex.000035
1.1G	alex.000036
1.1G	alex.000037
1.1G	alex.000038
1.1G	alex.000039
1.1G	alex.000040
1.1G	alex.000041
1.1G	alex.000042
1.1G	alex.000043
1.1G	alex.000044
1.1G	alex.000045
1.1G	alex.000046
1.1M	performance_schema
2.8M	alex.000007
3.7M	alex.000048
4.0K	alex.000001
4.0K	alex.000002
4.0K	alex.000006
4.0K	alex.000008
4.0K	alex.000021
4.0K	alex.index
4.0K	auto.cnf
4.0K	ca-key.pem
4.0K	ca.pem
4.0K	client-cert.pem
4.0K	client-key.pem
4.0K	ib_buffer_pool
4.0K	master-bin.000002
4.0K	master-bin.index
4.0K	mysql.sock.lock
4.0K	private_key.pem
4.0K	public_key.pem
4.0K	relay-log.000001
4.0K	relay-log.index
4.0K	server-cert.pem
4.0K	server-key.pem
4.1M	alex.000018
4.9M	master-bin.000001
8.0K	alex.000020
12M	ibtmp1
12M	mysql
21M	dujiaoka
28K	alex.000019
48M	ib_logfile0
48M	ib_logfile1
76M	ibdata1
80M	blog
121M	alex.000005
184K	alex.000003
223M	alex.000013
258M	alex.000004
436K	vmq
651M	alex.000047
680K	alex.000049
680K	sys
847M	alex.000010

 

 

解决问题

 

开始还不知道这些文件是啥能不能删.

然后百度找到一篇博文.

https://www.vpsdawanjia.com/47.html

发现他截图和我一样,大量1.1GB文件占用磁盘.

然后根据他的方案解决了.

 

1,mysql执行清除日志命令

mysql> reset master;
Query OK, 0 rows affected (0.26 sec)

执行完,那些1.1G文件就都自动消失了.磁盘占用就正常了.

一下就清理出30多G容量出来了.

[root@VM-12-4-centos ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        909M     0  909M   0% /dev
tmpfs           919M     0  919M   0% /dev/shm
tmpfs           919M  8.5M  911M   1% /run
tmpfs           919M     0  919M   0% /sys/fs/cgroup
/dev/vda1        50G  7.3G   40G  16% /
tmpfs           184M     0  184M   0% /run/user/0

 

 

2,彻底关闭日志功能.

vi /etc/my.cnf 注释掉这两行.然后重启mysql即可.

#log-bin=alex
#log-bin-index = master-bin.index