欢迎光临
专业Linux运维二十年

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

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

    1. 什么是 MySQL binlog?

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

    但在某些情况下(如单机数据库、测试环境、磁盘空间有限时),可以关闭 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)。

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

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

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

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

    sudo systemctl restart mysql  # Linux(使用 systemd)
    service mysql restart         # Linux(使用 SysVinit)
    net stop mysql && net start mysql  # Windows
    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. 结论

    到此这篇关于如何关闭 MySQL 的 binlog(Binary Log)日志的文章就介绍到这了,

    脚本之家
    赞(0) 打赏
    未经允许不得转载:Linux老运维 » MySQL 的 binlog(Binary Log)日志关闭的方法

    觉得文章有用就打赏一下文章作者

    非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

    支付宝扫一扫

    微信扫一扫