MySQL开启binlog并且保存7天有效数据

标签: mysql binlog
18人阅读 评论(0) 收藏 举报
分类:

开启binlog日志(在[mysqld]下修改或添加如下配置):

server-id=1
log-bin=mysql-bin
binlog_format=MIXED

binlog日志模式

Mysql复制主要有三种方式:基于SQL语句的复制(statement-based replication, SBR),基于行的复制(row-based replication, RBR),混合模式复制(mixed-based replication, MBR)。对应的,binlog的格式也有三种:STATEMENT,ROW,MIXED。

1、STATEMENT模式(SBR)
每一条会修改数据的sql语句会记录到binlog中。优点是并不需要记录每一条sql语句和每一行的数据变化,减少了binlog日志量,节约IO,提高性能。缺点是在某些情况下会导致master-slave中的数据不一致(如sleep()函数, last_insert_id(),以及user-defined functions(udf)等会出现问题)

2、ROW模式(RBR)
不记录每条sql语句的上下文信息,仅需记录哪条数据被修改了,修改成什么样了。而且不会出现某些特定情况下的存储过程、或function、或trigger的调用和触发无法被正确复制的问题。缺点是会产生大量的日志,尤其是alter table的时候会让日志暴涨。

3、MIXED模式(MBR)
以上两种模式的混合使用,一般的复制使用STATEMENT模式保存binlog,对于STATEMENT模式无法复制的操作使用ROW模式保存binlog,MySQL会根据执行的SQL语句选择日志保存方式。

查看默认的日志保存天数

show variables like '%expire_logs_days%';

0-表示永不过期

设置为7天有效期(修改配置文件)

expire_logs_days=7

binlog使用

mysqlbinlog /var/lib/mysql/mysql-bin.000003
查看评论

7天玩转iOS界面开发

-
  • 1970年01月01日 08:00

MySQL设置binlog日志的有效期自动回收

设置日志保留天数,到期后自动删除 查看当前日志保存天数: show variables like '%expire_logs_days%'; 默认是0,即永不过期。  ...
  • zsjangel
  • zsjangel
  • 2014-02-27 00:47:41
  • 4432

binlog有效天数设置

1. 查看日志总数   [root@SR3 mysqldata]# du -sh * 4.0K    binlog201311.txt 4.0K    binlog2013.txt 8.0K...
  • minwang593
  • minwang593
  • 2013-11-25 16:30:53
  • 1020

MYSQL binlog简述及简单操作

binlog主要两大作用 高可用 数据恢复。 如何开启binlog 在my.cnf中配置:log-bin =/home/data/mysql/binlog/mysql-bin 检查是否...
  • johnstrive
  • johnstrive
  • 2015-08-25 08:35:50
  • 5173

MySQL开启binlog以及查看binlog

mysql> show variables like 'log_%'; +----------------------------------------+---------------------...
  • u011478909
  • u011478909
  • 2016-06-01 22:38:31
  • 1249

MySQL开启binlog

在配置文件中加入log_bin = mysql-bin binlog_format = ROW expire_logs_days = 30重启MySQL
  • u012063703
  • u012063703
  • 2016-01-06 14:55:32
  • 677

mysql强力推荐启用binlog

开启方式:修改mysql的my.ini log-bin=mysql-bin 如果写的是mysql-bin,则二进制日志的信息的文件位置:默认存放位置为数据库文件所在目录下,也可以在前面加上...
  • ribavnu
  • ribavnu
  • 2016-07-01 10:12:29
  • 363

linux 下 开启 MySQL的binlog

先找到MySQL的配置文件,不同版本的linux或者安装方法的不同路径不一样,可以用find命令 [root@iZ25o3jqy5oZ ~]# find / -name my.cnf /etc/m...
  • qmt216
  • qmt216
  • 2016-04-20 17:08:43
  • 4583

Window 下mysql binlog开启及查看

Window 下mysql binlog开启及查看
  • slyjit
  • slyjit
  • 2014-09-15 17:46:58
  • 6739

定期清理binlog日志脚本(一次清理5个binlog日志,清理完成后睡眠3秒钟)

#对于每天只产生少量binlog的服务器来说,可以通过设置expire_logs_days来自动删除。否则,为了避免导致大量磁盘IO,数据库抖动,需要写脚本来完成这一操作(分批删除binlog) #一...
  • YABIGNSHI
  • YABIGNSHI
  • 2016-06-21 15:15:09
  • 605
    个人资料
    等级:
    访问量: 1340
    积分: 132
    排名: 120万+
    文章存档