mysql中mysql-bin.000001是什么⽂件可以删除吗
⽤ports安装了mysql以后,过⼀段时间发现/var空间不⾜了,查⼀下,会发现是mysql-bin.000001、mysql-bin.000002等⽂件占⽤了空间,那么这些⽂件是⼲吗的?这是数据库的操作⽇志,例如UPDATE⼀个表,或者DELETE⼀些数据,即使该语句没有匹配的数据,这个命令也会存储到⽇志⽂件中,还包括每个语句执⾏的时间,也会记录进去的。
这样做主要有以下两个⽬的:
1:数据恢复
如果你的数据库出问题了,⽽你之前有过备份,那么可以看⽇志⽂件,出是哪个命令导致你的数据库出问题了,想办法挽回损失。
2:主从服务器之间同步数据
主服务器上所有的操作都在记录⽇志中,从服务器可以根据该⽇志来进⾏,以确保两个同步。
处理⽅法分两种情况:
1:只有⼀个mysql服务器,那么可以简单的注释掉这个选项就⾏了。
vi /etc/myf把⾥⾯的log-bin这⼀⾏注释掉,重启mysql服务即可。
2:如果你的环境是主从服务器,那么就需要做以下操作了。
A:在每个从属服务器上,使⽤SHOW SLAVE STATUS来检查它正在读取哪个⽇志。
B:使⽤SHOW MASTER LOGS获得主服务器上的⼀系列⽇志。
C:在所有的从属服务器中判定最早的⽇志,这个是⽬标⽇志,如果所有的从属服务器是更新的,就是清单上的最后⼀个⽇志。
D:清理所有的⽇志,但是不包括⽬标⽇志,因为从服务器还要跟它同步。
清理⽇志⽅法为:
PURGE MASTER LOGS TO 'mysql-bin.010';
PURGE MASTER LOGS BEFORE '2008-12-19 21:00:00';
如果你确定从服务器已经同步过了,跟主服务器⼀样了,那么可以直接RESET MASTER将这些⽂件删除。
之前发现⾃⼰10G的服务器空间⼤⼩,⽤了⼏天就剩下5G了,⾃⼰上传的⽂件才仅仅⼏百M⽽已,到底是什么东西占⽤了这么⼤空间呢?
⽬录web根⽬录是放在/home ⾥⾯的,所有⽂件加起来才不到300M,⽽服务器上已经占⽤了近5G空间,恐怖吧,最后经我⼀步⼀步查询得知,原来是这个⽂件夹占了⾮常多的空间资源
原来如此,是mysql⽂件夹下的var⽬录占⽤空间最⼤,那⾥⾯是啥内容呢?我们来看下:
发现了如此多的 mysql-bin.0000X⽂件,这是什么东西呢?原来这是mysql的操作⽇志⽂件.我才⼏⼗M的数据库,操作⽇志居然G⼤⼩了.
如何删除mysql-bin.0000X ⽇志⽂件呢?
红⾊表⽰输⼊的命令.
[root@jiucool var]# /usr/local/mysql/bin/mysql -u root -p
Enter password:  (输⼊密码)
Welcome to the MySQL monitor.  Commands end with ; or /g.
Your MySQL connection id is 264001
Server version: 5.1.35-log Source distribution
Type ‘help;' or ‘/h' for help. Type ‘/c' to clear the current input statement.
mysql> reset master; (清除⽇志⽂件)
Query OK, 0 rows affected (8.51 sec)
mysql>
好了,我们再来查看下mysql⽂件夹占⽤多少空间?
[root@jiucool var]# du -h –max-depth=1 /usr/local/mysql/
37M    /usr/local/mysql/var
70M    /usr/local/mysql/mysql-test
15M    /usr/local/mysql/lib
448K    /usr/local/mysql/include
2.9M    /usr/local/mysql/share
7.6M    /usr/local/mysql/libexec
mysql存储文档
17M    /usr/local/mysql/bin
11M    /usr/local/mysql/docs
2.9M    /usr/local/mysql/sql-bench
163M    /usr/local/mysql/
好了,看⼀下,整个mysql ⽬录才占⽤163M⼤⼩!OK,没问题,既然mysql-bin.0000X⽇志⽂件占⽤这么⼤空间,存在的意义⼜不是特别⼤,那么我们就不让它⽣成吧.
[root@jiucool var]# find / -name myf
到了myf 即mysql配置⽂件,我们将log-bin=mysql-bin 这条注释掉即可.
# Replication Master Server (default)
# binary logging is required for replication
#log-bin=mysql-bin
重启下mysql吧.
OK,⾄此,操作完成. 以后再不会因为就⼏⼗M的数据库⼤⼩⽣成N个G的⽇志⽂件啦.
这些个⽇志⽂件太恐怖了,我搬到这新VPS来才⼆⼗天左右,还不到⼀个⽉⽇志⽂件居然就近3个G⼤⼩,如果⼀两个⽉我不清除⽇志⽂件这还得了!
MySql data⽬录 mysql-bin.000001⽂件清理⽅法
在MYSQL安装⽬录写,data⽬录存放着所有数据库的⽂件,在这个⽬录下有⼀些mysql-bin.000001,mysql-
bin.000002,mysql-bin.000003类似的⽂件占⽤很⼤的空间,这些⽂件都是数据库的操作⽇志⽂件,可以清除掉。清除⽅法:在cmd下进到mysql下的bin⽬录下,输⼊mysql -u root -p;然后输⼊密码,成功进去后输⼊ reset master。
mysql> reset master;
Query OK, 0 rows affected, 1 warning (0.20 sec)
这样就删除了⽇志⽂件,如果你不希望⽣成这些⽇志⽂件可以这样操作:
打开mysql⽬录中的my.ini,到log-bin=mysql-bin然后注释掉就可以了。
#log-bin=mysql-bin
(在修改数据库配置⽂件时候最好暂时关闭MYSQL数据库)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。