`

(转载)MySQL的log-bin的日志功能

 
阅读更多

装mysql,运行一段时间后,在mysql目录下出现一堆类似mysql-bin.000***,从mysql-bin.000001开始一直排列下来,而且占用了大量硬盘空间,高达几十个G. 对于这些超大空间占用量的文件我们应该怎么办呢?

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

mysql-bin.000001、mysql-bin.000002等文件是数据库的操作日志,例如UPDATE一个表,或者DELETE一些数据,即使该语句没有匹配的数据,这个命令也会存储到日志文件中,还包括每个语句执行的时间,也会记录进去的。


这些形如mysql-bin.00001的文件主要是用来做什么的呢?

1:数据恢复
如果你的数据库出问题了,而你之前有过备份,那么可以看日志文件,找出是哪个命令导致你的数据库出问题了,想办法挽回损失。

2:主从服务器之间同步数据
主服务器上所有的操作都在记录日志中,从服务器可以根据该日志来进行,以确保两个同步。


如果不想要这些文件应该怎么做呢?

1:只有一个mysql服务器,那么可以简单的注释掉这个选项就行了。
vi /etc/my.cnf把里面的 log-bin 这一行注释掉,重启mysql服务即可。

2:如果你的环境是主从服务器,那么就需要做以下操作了。
A:在每个从属服务器上,使用SHOW SLAVE STATUS来检查它正在读取哪个日志。
B:使用SHOW MASTER LOGS获得主服务器上的一系列日志。
C:在所有的从属服务器中判定最早的日志,这个是目标日志,如果所有的从属服务器是更新的,就是清单上的最后一个日志。
D:清理所有的日志,但是不包括目标日志,因为从服务器还要跟它同步。



简单地说,这些MySQL目录下的形如mysql-bin.000***的文件时MySQL的事务日志。

删除复制服务器已经拿走的binlog是安全的,一般来说网络状况好的时候,保留最新的那一个足以。

(缺点是将无法使数据库恢复先前的状态)

分享到:
评论

相关推荐

    MySQL bin-log 日志清理方式

    MySQL bin-log 日志清理方式 MySQL bin-log 日志清理方式

    mysql清除log-bin日志的方法

    主要介绍了mysql清除log-bin日志的方法,同时介绍了log-bin日志的作用,需要的朋友可以参考下

    开启bin-log日志mysql报错的解决方法

    代码如下:ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe log_bin_trust_...

    mysql将bin-log日志文件转为sql文件的方法

    mysql打开bin-log日志后,mysql数据库的非查询操作会将记录保存到bin-log文件中。一般bin-log日志文件不能打开查看的,需要用到mysql的工具进行。假设/mysql/data/目录中存放着二进制文件mysql-bin.000011。需要将...

    开启mysql-Binlog

    开启mysql-binlog操作 binlog日志用于记录所有更新了数据或者已经潜在更新了数据的所有语句。语句以“事件”的形式保存,它描述数据更改。当我们因为某种原因导致数据库出现故障时,就可以利用binlog日志来挽回...

    MySQL – binlog日志简介及设置

    可以使用mysqlbin命令查看二进制日志的内容。 binlog 的作用 用于数据库的主从复制及数据的增量恢复。 MySQL binlog格式 binlog的格式也有三种:STATEMENT、ROW、MIXED 。 1、STATMENT模式:基于SQL语句的复制...

    使用bin-log日志还原数据库的例子

    4、查看mysql日志:mysqlbinlog mysql-bin.000001mysqlbinlog mysql-bin.000006 > /root/bbx.log 5、使用新的binlog日志:(更新数据库日志) 代码如下:方法一:[root@bogon mysql]# mysqladmin -uroot -p flush-...

    mysql主从同步配置.docx

    mysql主从同步配置,要实现 MySQL 的 Replication ,首先必须打开 Master 端的Binary log(mysql-bin.xxxxxx)功能,否则无法实现。因为整个复制过程实际上就是Slave从Master端获取该日志然后再在自己身上完全按顺序的...

    MYSQL启用日志和查看日志.pdf

    启用日志,和查看日志 有以下几种日志: 错误日志: -log-err 查询日志: -log 慢查询日志: -log-slow-queries 更新日志: -log-update 二进制日志: -log-bin

    MySQL数据库:数据库日志管理.pptx

    log-bin=C:/appserv/MySQL/bin/bin_log 保存,重启服务器。 用mysqlbinlog管理日志 数据库日志管理 使用mysqlbinlog实用工具(在windows命令行窗口运行)可以检查二进制日志文件。命令格式为: mysqlbinlog [options...

    MySQL5.6.24-win32

    log-error 日志存放路径(若没有文件夹则必须手动创建文件夹) port 服务端口 --------举个栗子---------- 我的mysql跟路径为 D:\DB\MySQL basedir = D:\DB\MySQL datadir = D:\DB\MySQL\data tmpdir = D:\DB\...

    Mysql数据库清理binlog日志命令详解

    否则mysq-bin.index错乱,最终导致后期expire-log-days配置项失效。 1、查看binlog日志 mysql> show binary logs; 2、删除某个日志文件之前的所有日志文件 purge binary logs to 'mysql-bin.000035'; 3、清理...

    MySQL启用二进制日志

    1、创建存储mysql二进制日志目录 mysql> system mkdir -p...log-bin=/app/mysql/log/binary_log/mysql-bin.log expire_logs_days=10 重启mysql systemctl restart mysqld 3、查看mysql是否设置成功 [root@kkk log]# ls

    mysql如何利用binlog进行数据恢复详解

    MySQL Binary Log也就是常说的bin-log, ,是mysql执行改动产生的二进制日志文件,其主要作用有两个: * 数据回复 * 主从数据库。用于slave端执行增删改,保持与master同步。 binlog基本配置和格式 binlog基本配置 ...

    mysql主从复制

    2> log-bin=mysql-bin数据库二进制日志 3> server-id = 1用于设置数据库的主从说明,主的是1,不允许id有重复号 4> innodb_data_home_dir = /usr/local/mysql/var/存放innodb表引擎表空间的地方 5> innodb_data_file...

    MySQL日志设置及查看方法

    二进制日志: -log-bin 默认情况下,所有日志创建于mysqld数据目录中。通过刷新日志,你可以强制 mysqld来关闭和重新打开日志文件(或者在某些情况下切换到一个新的日志)。当你执行一个FLUSH LOGS语句或执行...

    mysql-event-emitter:mysql mariadb事件发射器

    log_bin_index = /var/log/mysql/mysql-bin.index binlog-format = row Mysql用户 授予您的用户读取二进制日志的权限 GRANT REPLICATION SLAVE, REPLICATION CLIENT, SELECT ON * . * TO ' [USE

Global site tag (gtag.js) - Google Analytics