本站(也就是安全者)网站数据库挂了一下午,也没时间处理,晚上回来后尝试restart MysqL,发现一直提示shutting down..........关闭不了,也stop不了,服务器重启也不行。可以确信肯定是MysqL出问题了。
进入MysqL的data目录一大堆名字为MysqL-bin.000001 ---MysqL-bin.000032
的文件,加起来占用了快10个G!目录占满了,当然启动不了了!那么这些文件是干什么用的呢?百度之..
这样做主要有以下两个目的:
1:数据恢复
如果你的数据库出问题了,而你之前有过备份,那么可以看日志文件,找出是哪个命令导致你的数据库出问题了,想办法挽回损失。
2:主从服务器之间同步数据
主服务器上所有的操作都在记录日志中,从服务器可以根据该日志来进行,以确保两个同步。
处理方法分两种情况:
1:只有一个MysqL服务器,那么可以简单的注释掉这个选项就行了。
vi /etc/my.cnf把里面的log-bin这一行注释掉,重启MysqL服务即可。
2:如果你的环境是主从服务器,那么就需要做以下操作了。
A:在每个从属服务器上,使用SHOW SLAVE STATUS来检查它正在读取哪个日志。
B:使用SHOW MASTER LOGS获得主服务器上的一系列日志。
C:在所有的从属服务器中判定最早的日志,这个是目标日志,如果所有的从属服务器是更新的,就是清单上的最后一个日志。
D:清理所有的日志,但是不包括目标日志,因为从服务器还要跟它同步。
也就是说你要是就一台服务器的话就果断删掉吧!
首先vim /etc/my.conf
,注释掉这两行
- #log-bin=MysqL-bin
- #binlog_format=mixed
然后 cd /usr/local/MysqL/var
,执行如下命令 强制删除这些文件
- rm-rfMysqL-bin.*#看清了呀别手抖删错了...
最后重启MysqL即可
- /etc/init.d/MysqLrestart
问题解决