MySQL 的 binlog(Binary Log)日志关闭的方法

 更新时间:2025年07月03日 11:03:17   作者:2401_89793006  
文章介绍了MySQL binlog的作用及关闭方法,binlog用于数据恢复、主从复制和审计,关闭可节省空间,可通过命令检查状态,临时关闭使用SET语句,永久关闭需修改配置文件并重启MySQL,关闭后可手动清理日志文件,感兴趣的朋友跟随小编一起看看吧

如何关闭 MySQL 的 binlog(Binary Log)日志

1. 什么是 MySQL binlog?

MySQL 的 binlog(Binary Log,二进制日志) 是记录数据库更改的日志文件,主要用于:

  • 数据恢复:通过 mysqlbinlog 工具恢复数据。
  • 主从复制:主库通过 binlog 传输数据变更到从库。
  • 审计:记录数据库的写入操作。

但在某些情况下(如单机数据库、测试环境、磁盘空间有限时),可以关闭 binlog 以减少磁盘占用和 I/O 负担。

2. 检查 binlog 是否开启

在 MySQL 终端或命令行中执行:

SHOW VARIABLES LIKE 'log_bin';

如果返回 ON,说明 binlog 已启用;如果返回 OFF,说明 binlog 已关闭。

检查 binlog 文件:

SHOW BINARY LOGS;

如果 binlog 已开启,会列出日志文件。

3. 关闭 MySQL binlog 方法

注意:关闭 binlog 后,MySQL 将不再记录数据变更,主从复制会受到影响。

3.1临时关闭 binlog(仅对当前会话生效)

SET SQL_LOG_BIN=0;

⚠️ 该方法仅对当前会话有效,MySQL 重启后 binlog 仍会生效。

3.2永久关闭 binlog(修改配置文件)

要永久关闭 binlog,需要修改 MySQL 配置文件 my.cnf(Linux/macOS)或 my.ini(Windows)。

步骤 1:编辑 MySQL 配置文件
  • Linux/macOS:
    sudo nano /etc/my.cnf
  • Windows:
    找到 my.ini(通常在 C:\ProgramData\MySQL\MySQL Server X.Y\my.ini)。
步骤 2:注释或删除 binlog 相关配置

找到 [mysqld] 部分,并注释或删除以下行:

#log-bin=mysql-bin  # 注释或删除此行
#server-id=1        # 如果是主从复制,需修改 server-id

如果有 binlog_format,也可以删除或注释掉。

步骤 3:重启 MySQL

修改完配置文件后,重启 MySQL 使其生效:

sudo systemctl restart mysql  # Linux(使用 systemd)
service mysql restart         # Linux(使用 SysVinit)
net stop mysql && net start mysql  # Windows
步骤 4:验证 binlog 是否关闭
SHOW VARIABLES LIKE 'log_bin';

返回 OFF 说明已成功关闭。

4. 清理已有 binlog 文件(可选)

如果 binlog 关闭后仍然占用大量磁盘空间,可以手动删除:

方法 1:手动清理 binlog

RESET MASTER;

PURGE BINARY LOGS TO 'mysql-bin.000010';

方法 2:删除 binlog 文件(需谨慎)

如果 binlog 目录存储大量 .00000X 文件,可以手动删除:

rm -rf /var/lib/mysql/mysql-bin.*

⚠️ 注意:此操作不可逆,请谨慎执行!

5. 结论

  • Binlog 主要用于数据恢复、审计和主从复制。
  • 在单机环境、测试环境或无主从需求时,可以关闭 binlog 以提高性能。
  • 关闭 binlog 需修改 MySQL 配置文件并重启 MySQL。
  • 关闭后可手动清理已有的 binlog 文件以释放磁盘空间。

到此这篇关于如何关闭 MySQL 的 binlog(Binary Log)日志的文章就介绍到这了,更多相关mysql binlog日志内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • MySQL中使用case when 语句实现多条件查询的方法

    MySQL中使用case when 语句实现多条件查询的方法

    今天在一个应用中使用到了一个比较特殊的数据查询要求。需要的朋友可以参考下。
    2010-12-12
  • 了解MySQL查询语句执行过程(5大组件)

    了解MySQL查询语句执行过程(5大组件)

    这篇文章主要介绍了了解MySQL查询语句执行过程(5大组件),文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-08-08
  • mysql 批量查询取每一组最新一条数据

    mysql 批量查询取每一组最新一条数据

    根据车牌号查询最新的一条交车记录的‘合同号’ ,这里只需要查询‘合同号’这个字段,这篇文章主要介绍了mysql 批量查询取每一组最新一条数据,需要的朋友可以参考下
    2024-02-02
  • MySQL每日练习之单表查询

    MySQL每日练习之单表查询

    这篇文章主要给大家介绍了关于MySQL每日练习之单表查询的相关资料,数据库管理系统的一个最重要的功能就是数据查询,数据查询不应只是简单查询数据库中存储的数据,还应该根据需要对数据进行筛选,需要的朋友可以参考下
    2023-07-07
  • mysql如何处理varchar与nvarchar类型中的特殊字符

    mysql如何处理varchar与nvarchar类型中的特殊字符

    这篇文章主要介绍了mysql如何处理varchar与nvarchar类型中的特殊字符,需要的朋友可以参考下
    2014-12-12
  • MySQL数据库索引order by排序精讲

    MySQL数据库索引order by排序精讲

    我们今天说的并不是大数据下该如何优雅的排序,如何提升排序性能的问题,我们来仔细分析说一说MySQL中的排序问题,希望可以对正在阅读的同学们有所启迪帮助
    2021-11-11
  • mysql中提高Order by语句查询效率的两个思路分析

    mysql中提高Order by语句查询效率的两个思路分析

    在MySQL数据库中,Order by语句的使用频率是比较高的。但是众所周知,在使用这个语句时,往往会降低数据查询的性能。
    2011-03-03
  • mysql双机热备实现方案【可测试】

    mysql双机热备实现方案【可测试】

    双机热备从广义上讲,就是对于重要的服务,使用两台服务器,互相备份,共同执行同一服务。这篇文章主要介绍了mysql双机热备实现方案,需要的朋友可以参考下
    2019-10-10
  • MySQL安全配置向导mysql_secure_installation详解

    MySQL安全配置向导mysql_secure_installation详解

    这篇文章主要介绍了MySQL安全配置向导mysql_secure_installation各项配置的含义,并依据经验给予一了一些建议,需要的朋友可以参考下
    2014-03-03
  • MySQL中的多字段相同数据去重复

    MySQL中的多字段相同数据去重复

    这篇文章主要介绍了MySQL中的多字段相同数据去重复问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12

最新评论