`

(转载)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中mysql-bin.000001是什么文件可以删除吗

    如果只有一台MySQL服务器,且不需要进行数据恢复或主从同步,可以在配置文件`my.cnf`中取消`log-bin`选项的注释,然后重启MySQL服务来停止生成二进制日志。 对于有主从服务器环境的情况,清理二进制日志需要更谨慎...

    MySQL bin-log 日志清理方式

    MySQL bin-log 日志清理方式 MySQL bin-log 日志是一种重要的数据库日志机制,它可以记录数据库的所有操作,以便在出现问题时进行数据恢复和主从服务器之间的同步数据。然而,随着时间的推移,bin-log 文件会不断...

    mysql清除log-bin日志的方法

    MySQL的`log-bin`日志,也称为二进制日志(Binary Log),是数据库管理系统中用于记录所有改变数据库状态的非DDL(Data Definition Language)操作的重要组件。它记录了数据库中的INSERT、UPDATE、DELETE等操作,以...

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

    在MySQL中,bin-log(二进制日志)是一个关键特性,用于记录所有改变数据库状态的语句,以便于数据恢复、主从复制等场景。然而,在开启bin-log时,可能会遇到一些问题,比如在创建存储过程时出现的错误:`ERROR 1418...

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

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

    MySQL 启动报错:File ./mysql-bin.index not found (Errcode: 13)

    这个错误通常表明MySQL无法找到它的二进制日志索引文件(mysql-bin.index),并且错误代码13通常表示权限问题。本文将深入探讨这个问题的原因以及解决方法。 首先,mysql-bin.index文件是MySQL二进制日志的关键组成...

    开启mysql-Binlog

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

    MySQL – binlog日志简介及设置

    log-bin = /data/mysql/logs/mysql-bin.log expire_logs_days = 7 max_binlog_size = 100m binlog_cache_size = 4m max_binlog_cache_size = 512m ``` 这些配置分别设置了日志格式、日志路径、日志清理时间、单个...

    apache-hive-2.3.7-bin.tar.gz

    2. **conf**:配置文件夹,存放如 `hive-site.xml` 和 `log4j.properties` 等配置文件,用于自定义 Hive 的运行环境和日志设置。 3. **lib**:包含 Hive 运行所需的库文件,如 JDBC 驱动、依赖的 Hadoop 库和其他第...

    mysql5.7开启binlog注意事项1

    需要注意的是,在 MySQL 5.7 及以下版本中,我们只需要添加 log-bin=/var/lib/mysql/mysql-bin 这一个参数就可以启用 Binlog,但是是在 MySQL 5.7 及以上版本中,需要添加两个参数。 开启 Binlog 是 MySQL 数据库的...

    mysql双机热备同步

    log-bin = mysql-bin ``` 其中,`server_id` 指定了服务器的唯一标识,`binlog-do-db` 指定了需要同步的数据库,而 `log-bin` 指定了二进制日志文件的路径。 然后,在从服务器上,需要修改 /etc/my.cnf 文件,添加...

    mysql-replication mysql数据库主从复制步骤

    - **二进制日志**:启用了二进制日志功能,`log-bin=master-bin`表示二进制日志的前缀名为`master-bin`;`log-bin-index=master-bin-index`指定了二进制日志索引文件的名称;`binlog_format=mixed`定义了二进制日志...

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

    MySQL 提供了一种强大的工具,即二进制日志(bin-log),用于记录所有的更改操作,以便于进行数据库的备份和恢复。本文将详细介绍如何利用 bin-log 日志来还原数据库。 首先,我们确认 MySQL 服务器是否已经启用了 ...

    mysql日志文件的使用.pdf

    mysql> mysqlbinlog /var/log/mysql/mysql-bin.000040 >/var/log/mysql/000040.txt; ``` - `show variables like 'log_%';`可查看所有日志相关的变量状态,而`show variables like 'log_bin';`则显示二进制日志的...

    基于 mysql-binlog-connector-java 实现增量数据的收集.zip

    binlog的开启和配置是实现增量数据收集的前提,通常在MySQL配置文件(如my.cnf)中设置`log-bin`选项来启用。 `mysql-binlog-connector-java` 库提供了一个简单的方式来连接到MySQL服务器并订阅binlog事件。这个库...

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

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

    Mysql中 binlog日志.docx

    在 Mysql 中, Binlog 日志可以通过在 my.cnf 中开启 binlog 来启用,例如:[mysqld] log-bin=/var/log/mysql/mysql-bin.log。重启数据库后, Binlog 日志将生效。 为了检查 Binlog 是否开启,可以使用 show ...

Global site tag (gtag.js) - Google Analytics