uuhua的个人主页

http://www.qtcn.org/bbs/u/136486  [收藏] [复制]

uuhua

  • 4

    关注

  • 7

    粉丝

  • 20

    访客

  • 等级:新手上路
  • 总积分:16
  • 保密,1985-11-01

最后登录:2018-04-24

更多资料

日志

mysql数据库文件夹中的mysql-bin.00001是什么文件?(转)

2017-02-08 09:29


http://blog.csdn.net/larryfrances/article/details/4380546

MySQL-bin.000001文件是怎么产生的及处理方法
mysql-bin.000001
mysql-bin.000002等文件是数据库的操作日志,例如UPDATE一个表,或者DELETE一些数据,即使该语句没有匹配的数据,这个命令也会存储到日志文件中,还包括每个语句执行的时间,也会记录进去的。
这样做主要有以下两个目的:
1
:数据恢复
如果你的数据库出问题了,而你之前有过备份,那么可以看日志文件,找出是哪个命令导致你的数据库出问题了,想办法挽回损失。
2:主从服务器之间同步数据
主服务器上所有的操作都在记录日志中,从服务器可以根据该日志来进行,以确保两个同步。
处理方法分两种情况:
1
:只有一个mysql服务器,那么可以简单的注释掉这个选项就行了。
vi /etc/my.cnf
把里面的 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 将这些文件删除。




http://outofmemory.cn/code-snippet/4291/clear-mysql-bin-with-mysql-command-reset-master

默认情况下mysql会一直保留mysql-bin文件,这样到一定时候,磁盘可能会被撑满,这时候是否可以删除这些文件呢,是否可以安全删除,是个问题。
首先要说明一下,这些文件都是mysql的日志文件,如果不做主从复制的话,基本上是没用的,虽然没用,但是不建议使用rm命令删除,这样有可能会不安全,正确的方法是通过mysql的命令去删除。mysql> reset master;Query OK, 0 rows affected (3 min 37.65 sec)

其实关键的命令就是reset master;这个命令会清空mysql-bin文件。
另外如果你的mysql服务器不需要做主从复制的话,建议通过修改my.cnf文件,来设置不生成这些文件,只要删除my.cnf中的下面一行就可以了。log-bin=mysql-bin
如果你需要复制,最好控制一下这些日志文件保留的天数,可以通过下面的配置设定日志文件保留的天数:expire_logs_days = 7
表示保留7天的日志,这样老日志会自动被清理掉。
分类:默认分类|回复:0|浏览:841|全站可见|转载
 

Powered by phpwind v8.7 Certificate Copyright Time now is:05-20 04:49
©2005-2016 QTCN开发网 版权所有 Gzip disabled