首页
学习
活动
专区
圈层
工具
发布

mysql 关闭binlog日志

基础概念

MySQL的Binary Log(二进制日志)记录了所有的DDL和DML(除了数据查询语句)语句,以事件形式记录,还包含语句所执行的消耗的时间。它的主要目的是用于复制和数据恢复。

相关优势

  1. 数据复制:Binary Log是主从复制的基础,从服务器通过读取主服务器的Binary Log来同步数据。
  2. 数据恢复:可以通过Binary Log进行point-in-time恢复,即恢复到某个特定的时间点。

类型

MySQL的Binary Log有两种格式:

  1. Statement-based:记录的是执行的SQL语句。
  2. Row-based:记录的是每一行数据的变更。

应用场景

  • 主从复制:在主从复制架构中,主服务器的Binary Log会被从服务器读取并应用,从而实现数据的同步。
  • 数据恢复:在数据丢失或损坏的情况下,可以通过Binary Log进行数据恢复。

关闭Binary Log的原因及解决方法

原因

  1. 磁盘空间不足:Binary Log文件会占用大量磁盘空间,特别是在高并发写入的情况下。
  2. 性能影响:写入Binary Log会增加磁盘I/O操作,可能会影响数据库性能。
  3. 不需要复制或恢复:在某些情况下,可能不需要进行主从复制或数据恢复,因此可以关闭Binary Log以节省资源。

解决方法

要关闭MySQL的Binary Log,可以通过修改MySQL配置文件(通常是my.cnfmy.ini)来实现。以下是具体步骤:

  1. 编辑配置文件
  2. 编辑配置文件
  3. 重启MySQL服务
  4. 重启MySQL服务
  5. 验证Binary Log是否关闭
  6. 验证Binary Log是否关闭
  7. 如果log_bin的值为OFF,则表示Binary Log已经关闭。

示例代码

以下是一个简单的示例,展示如何在MySQL配置文件中关闭Binary Log:

代码语言:txt
复制
[mysqld]
# 注释掉或删除以下行
# log-bin=mysql-bin
# binlog_format=ROW

参考链接

通过以上步骤,你可以成功关闭MySQL的Binary Log,并根据需要调整配置以优化数据库性能和资源使用。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

MySQL -- 关闭 binlog

LNMP一键安装包安装的MySQL默认是开启了日志文件的,如果数据操作比较频繁就会产生大量的日志,在/usr/local/mysql /var/下面产生mysql-bin.0000* 类似的文件,而且一般都在几十...MB到几个GB,更甚会吃掉整个硬盘空间,从来导致mysql无法启动或报错,如vps论坛用户的反馈。...如何关闭MySQL的日志功能: 在cmd下进到mysql下的bin目录下,输入mysql -u root -p然后输入密码,成功进去后输入 reset master。...mysql> reset master; Query OK, 0 rows affected, 1 warning (0.20 sec) 这样就删除了日志文件, 如果你不希望生成这些日志文件可以这样操作...: 修改/etc/my.cnf 文件,找到 log-bin=mysql-bin binlog_format=mixed 再这两行前面加上#,将其注释掉,再执行/etc/init.d/mysql restart

10.7K32
  • MySQL日志 binlog

    MySQL日志保留策略:设置binlog日志保存天数、文件大小限制 一、查看当前binlog保留时长,文件大小限制 ## 查看binlog的保留时长[expire_logs_days] ## 0表示永久保留...mysql> show variables like 'expire_logs_days'; ## 查看binlog的文件大小限制[max_binlog_size] ## 1073741824 mysql...> show variables like 'max_binlog_size'; 二、修改保留时长 文件大小 临时生效: 这种方法调整后,立即生效,但是数据库重启后,会失效 ## 设置日志保留时长为30...,一种按照文件名称 ## 将mysql-bin.000010之前的日志清理掉 mysql> purge binary logs to 'mysql-bin.000010'; Query OK, 0 rows...affected (0.01 sec) ## 删除2022-04-21 18:08:00之前的binlog日志 mysql> purge binary logs before '2022-04-21

    1.2K10

    mysql binlog日志_事务日志

    binlog 就是binary log,二进制日志文件,这个文件记录了mysql所有的dml操作。通过binlog日志我们可以做数据恢复,做主住复制和主从复制等等。...对于开发者可能对binlog并不怎么关注,但是对于运维或者架构人员来讲是非常重要的。 如何开启mysql的binlog日志呢?.../mysql-bin.index 三个参数来指定, 第一个参数是打开binlog日志 第二个参数是binlog日志的基本文件名,后面会追加标识来表示每一个文件 第三个参数指定的是binlog文件的索引文件...的文件,还有一个mysql-bin.index的文件,我们可以打开这个文件来看一下 到这里,我们的binlog日志就打开了。...对于binlog日志的具体操作,可以参考 binlog日志详解:http://blog.csdn.net/king_kgh/article/details/74833539 使用binlog

    2.1K30

    mysql解析binlog日志

    binlog日志用于记录所有更新了数据或者已经潜在更新了数据(例如,没有匹配任何行的一个DELETE)的所有语句。语句以“事件”的形式保存,它描述数据更改。...1、进入数据库 mysql -uroot -p 回车 输入密码 ytkah1008 2、列出所有的数据库 show databases; 3、切换数据库 use mysql001; 切换到mysql001...的数据库 show tables; 列出所有表 desc biao01 查看某个表的字段 4、查看binlog日志 show variables like 'binlog_format'; binlog...日志信息 exit; 退出数据库 宝塔面板的binlog日志在/www/server/data/文件夹下 5、解析binlog日志 mysql -u root -p -e "show binlog events...in 'mysql-bin.001853'" > binlog1853.txt 解析binlog日志,把日志信息存在/root/binlog1853.txt文件中 参考资料 https://www.cnblogs.com

    2.7K40

    MySQL binlog日志格式 binlog_format

    MySQL binlog日志格式 binlog_format MySQL 5.5 中对于二进制日志 (binlog) 有 3 种不同的格式可选:Mixed,Statement,Row,默认格式是 Statement...= 'b' WHERE owner_member_id = 'a' 执行之后,日志中记录的不是这条 update 语句所对应的事件 (MySQL 以事件的形式来记录 bin-log 日志) ,而是这条语句所更新的每一条记录的变化情况...在 Mixed 模式下,MySQL 会根据执行的每一条具体的 SQL 语句来区分对待记录的日志形式,也就是在 statement 和 row 之间选择一种。...例如: mysql> SET SESSION binlog_format = 'STATEMENT'; mysql> SET SESSION binlog_format = 'ROW';...mysql> SET SESSION binlog_format = 'MIXED'; mysql> SET GLOBAL binlog_format = 'STATEMENT'; mysql

    6.4K40

    mysql 正确清理binlog日志

    mysq 正确清理binlog日志 前言: MySQL中的binlog日志记录了数据库中数据的变动,便于对数据的基于时间点和基于位置的恢复,但是binlog也会日渐增大,占用很大的磁盘空间,因此,要对...binlog使用正确安全的方法清理掉一部分没用的日志。...1 2 show master status\G show slave status\G ② 在删除binlog日志之前,首先对binlog日志备份,以防万一 开始动手删除binlog: ?...1 purge master logs to'mysql-bin.000022'; //删除指定日志文件的日志索引中binlog日志文件 注意: 时间和文件名一定不可以写错,尤其是时间中的年和文件名中的序号...切勿删除正在使用的binlog!!! 使用该语法,会将对应的文件和mysql-bin.index中的对应路径删除。 【方法二】通过设置binlog过期的时间,使系统自动删除binlog文件 ?

    5.5K10

    MySQL的binlog日志详解

    binlog 就是binary log,二进制日志文件,这个文件记录了MySQL所有的DML操作。通过binlog日志我们可以做数据恢复,增量备份,主主复制和主从复制等等。...MySQL 5.7这个版本默认是不开启binlog日志的,具体的开启方式可以查看https://blog.csdn.net/king_kgh/article/details/74800513。...binlog文件,文件名为:mysql-bin.000001。...mysql给我们提供了一个用于查看binlog日志的工具,叫做mysqlbinlog mysqlbinlog myql-bin.000001 这个文件比较长,一次打开看不完怎么办呢,这里可以使用linux...status 可以查看binlog的状态 4.通过reset master 可以清空binlog日志文件 5.通过mysqlbinlog 工具可以查看binlog日志的内容 6.通过执行dml,mysql

    1.3K30

    开启MySQL的binlog日志

    binlog 就是binary log,二进制日志文件,这个文件记录了mysql所有的dml操作。通过binlog日志我们可以做数据恢复,做主住复制和主从复制等等。...对于开发者可能对binlog并不怎么关注,但是对于运维或者架构人员来讲是非常重要的。...在my.inf主配置文件中直接添加三行 log_bin=ON log_bin_basename=/var/lib/mysql/mysql-bin log_bin_index=/var/lib/mysql.../mysql-bin.index 三个参数来指定, 第一个参数是打开binlog日志 第二个参数是binlog日志的基本文件名,后面会追加标识来表示每一个文件 第三个参数指定的是binlog文件的索引文件...,这个文件管理了所有的binlog文件的目录 低版本的mysql可以直接添加这句 log_bin=ON log-bin=C:\Program Files (x86)/MySQL/MySQL Server

    3.4K80

    开启MySQL的binlog日志

    binlog 就是binary log,二进制日志文件,这个文件记录了mysql所有的dml操作。通过binlog日志我们可以做数据恢复,做主住复制和主从复制等等。...对于开发者可能对binlog并不怎么关注,但是对于运维或者架构人员来讲是非常重要的。...在my.inf主配置文件中直接添加三行 log_bin=ON log_bin_basename=/var/lib/mysql/mysql-bin log_bin_index=/var/lib/mysql.../mysql-bin.index 三个参数来指定, 第一个参数是打开binlog日志 第二个参数是binlog日志的基本文件名,后面会追加标识来表示每一个文件 第三个参数指定的是binlog文件的索引文件...,这个文件管理了所有的binlog文件的目录 低版本的mysql可以直接添加这句 log_bin=ON log-bin=C:\Program Files (x86)/MySQL/MySQL Server

    2.1K10

    Mysql 5.7开启binlog日志

    前言 binlog是MySQL的二进制日志,并且是MySQL中最重要的日志。...start # 重启mysql服务 service mysql restart 扩展 应用 主从复制 master端开启binlog,master把二进制日志传递给slaves来达到master-slave...status; flush刷新binlog日志,此刻之后会产生一个新编号的binlog日志文件 flush logs; bin-log日志存放地址 binlog存放在/var/lib/mysql里面的...# binlog每个日志文件大小 max_binlog_size = 100m binlog格式 # binlog日志格式,MySQL默认采用的是STATEMENT,建议使用MIXED binlog_format...MIXED模式 一般的复制使用STATEMENT模式保存binlog,对于STATEMENT模式无法复制的操作使用ROW模式保存binlog,MySQL会根据执行的SQL语句选择日志保存方式 - 实现较为复杂

    1.9K20

    Mysql日志redo log和binlog

    binglog的写入机制 binglog的写入逻辑比较简单,事物执行过程中,先把日志写入到binglog cache,在事物提交的时候,再把binglog cache写到binlog文件中....可以看到,每个线程有自己binlog cache,但是共用同一份binlog文件 图中write就是把日志写入到文件系统的page cache,并没有把数据持久化到磁盘,所以速度比较快 图中fsync...redo log(prepare阶段),一次binlog 按照上面的原理,当mysql的TPS达到每秒两万的话,每秒就会写四万次磁盘,但是实际上磁盘也就两万左右,怎么实现两万TPS呢,其实就是使用到了组提交的机制了...其中binlog可以分成两个动作 先把binlog从binlo cache中写到磁盘的binlog文件 调用fsync持久化 mysql为了让组提交效果更好,把redo log 做fsync的时间拖到了上面额步骤...也不会起作用 顺便说的是WAL的好处如下 redo log和binlog都是顺序写,磁盘的顺序写比随机写速度要快 组提交机制,可以降低磁盘的IOPS消耗 最后,如果我们的mysql遇到了性能瓶颈,且在IO

    1.2K10

    mysql binlog日志事件解析

    二进制日志(binary log)是mysql的一种日志记录了mysql中的数据变更操作,二进制日志主要有以下作用: 1.复制 2.数据恢复 3.日志审计 二进制日志有日志文件和索引文件组成,索引文件(...index)记录尚未被清理的二进制日志列表 [root@ck1 logs]# ll total 16 -rw-r----- 1 mysql mysql 242 Jun 9 11:36 mysql-bin...2 Duplicates: 0 Warnings: 0 mysql> update test set name='binlog_new' where name='binlog'; Query OK...server id 2223306 产生该时间的mysql的server id end_log_pos 124 表示该事件结束的偏移量124,下一个事件起始偏移量为124 binlog v 4 二进制日志结构的版本为...为第一个事件,该事件的创建时间和二进制日志文件创建时间一致) 二进制日志的第一个事件是Format_description_event类型事件,记录二进制日志的版本,数据库版本,文件创建时间(binlog

    3.2K11

    Mysql之binlog日志说明及利用binlog日志恢复数据操作记录

    众所周知,binlog日志对于mysql数据库来说是十分重要的。在数据丢失的紧急情况下,我们往往会想到用binlog日志功能进行数据恢复(定时全备份+binlog日志恢复增量数据部分),化险为夷!...废话不多说,下面是梳理的binlog日志操作解说: 一、初步了解binlog MySQL的二进制日志binlog可以说是MySQL最重要的日志,它记录了所有的DDL和DML语句(除了数据查询语句select...binlog日志有两个最重要的使用场景: 1)MySQL主从复制:MySQL Replication在Master端开启binlog,Master把它的二进制日志传递给slaves来达到 master-slave...-F 选项也会刷新binlog日志; 4)重置(清空)所有binlog日志 mysql> reset master; Query OK, 0 rows affected (0.12 sec) mysql...这可以根据前面提到的mysql-bin.000003的新binlog日志进行恢复。

    3.6K80
    领券