binlog启用和禁用
在/etc/my.cnf文件中添加log-bin=mysql-bin来启用binlog,mysql-bin为日志文件名前缀。
如果用户有super权限,可通过set sql_log_bin=1/0来启用或禁用当前会话的binlog记录。

binlog的设置
A: binlog_do_db=dbname设置只记录dbname库的二进制日志,如果有多个则添加多行即可。
B: binlog_ignore_db=dbname设置不记录dbname库的二进制日志,如果有多个则添加多行即可。
C: binlog_format=mixed 综合了statement和row的优点,默认即为此值。
D: binlog_cache_size 使用内存的大小,默认为32KB。
E: max_binlog_cache_size 使用内存的最大尺寸。
F: max_binlog_size 日志的最大值和默认值是1GB
G: sync_binlog=0 这个参数直接影响mysql的性能和完整性,当事务提交后,mysql仅是将
binlog_cache中的数据写入binlog文件,但不执行fsync之类的硬盘,这时性能是最好的,
但是风险也是最大的,一旦系统crash,在文件系统缓存中的所有binlog信息都会丢失。

当使用事务的表存储引擎时,所有未提交的二进制日志会被记录到一个缓存中,
等该事务提交时直接将缓存中的二进制日志写入二进制日志文件。
使用SHOW GLOBAL STATUS查看下面两项的值,根据它们来调整binlog_cache_size的值
binlog_cache_use 记录了使用缓存写二进制日志的次数
binlog_cache_disk_use 记录了使用临时文件写二进制日志的次数

binlog的查看
mysqlbinlog binlog-file-name

binlog的删除
A:自动删除
show variables like 'expire_logs_days';
set global expire_logs_days=3;
B:手动删除
reset master or reset slave 清除所有日志
purge master logs before '2014-05-30 14:45:00' 删除指定日期以前的日志
purge master logs to 'mysql-bin.000001' 删除指定的日志文件

按照手册上的说法,
把--innodb-support-xa设置为1,同时保证sync_binlog=1,才能保证innodb的binlog和数据一致

binlog配置和使用的更多相关文章

  1. 烂泥:学习mysql的binlog配置

    本文由秀依林枫提供友情赞助,首发于烂泥行天下. 1.基础知识 日志是把数据库的每一个变化都记载到一个专用的文件里,这种文件就叫做日志文件.mysql默认只开启错误日志,因为过多的日志将会影响系统的处理 ...

  2. MySQL复制(二)--基于二进制日志文件(binlog)配置复制

    基础环境:   主库 从库 服务器IP地址 192.168.10.11 192.168.10.12 版本 5.7.24 5.7.24 已存在的数据库 mysql> show databases; ...

  3. mysql binlog配置详解

    关闭binlog,注释掉mysql配置文件中的log-bin=mysql-bin即可     baidu zone - 关闭binlog方法   cnblogs - linux下mysql配置文件my ...

  4. (4.6)mysql备份还原——深入解析二进制日志(2)binlog参数配置解析

    关键词:binlog配置,binlog参数,二进制日志配置,二进制文件参数配置 关键词:binlog缓存,binlog 刷新 0.bin写入流程 写binlog流程如下:# 数据操作buffer po ...

  5. mysql my.cnf 配置详解

    #配置多实例声明[mysqld_multi]mysqld = /data/mysql_bin/bin/mysqld_safemysqladmin = /data/mysql_bin/bin/mysql ...

  6. mysql开启binlog日志和慢查询日志

    1)首先,为什么要开启binlog日志和慢查询日志呢? binlog日志会记录下数据库的所以增删改操作,当不小心删除.清空数据,或数据库系统出错,这时候就可以使用binlog日志来还原数据库,简单来说 ...

  7. Mysql是否开启binlog日志&开启方法

    运行sql   show variables like 'log_bin'; 如果Value 为 OFF 则为开启日志文件 如何开启mysql日志? 找到my,cnf 中 [mysqld]  添加如下 ...

  8. 使用canal通过mysql复制协议从binlog实现热数据nosql缓存(2)

    开启mysql binlog功能 以5.7版本为例,找到/etc/mysql/mysql.conf.d/mysqld.cnf [mysqld] pid-file = /var/run/mysqld/m ...

  9. docker快速入门02——在docker下开启mysql5.6 binlog日志

    1.检查容器状态 [root@localhost ~]# docker ps 执行这个命令可以看到所有正在运行当中的容器,如果加上-a参数,就可以看到所有的容器包括停止的. 我们可以看到容器正在运行当 ...

随机推荐

  1. sqlserver删除所有表

    --/第1步**********删除所有表的外键约束*************************/ DECLARE c1 cursor for select 'alter table ['+ o ...

  2. 洛谷 2679 [NOIP 2015] 子串

    题目戳这里 一句话题意 给你两个字符串A,B从A中取出K个不重合子串(顺序与在A中顺序相同)组成B,问有多少种方案? Solution 话说重打还是出各种错误也是醉了 先看题目,因为答案与A串,B串和 ...

  3. 【TFS】解决TFS编译中文乱码问题

    前言; TFS2018做程序集成非常方便,线上编译然后直接生成docker镜像,但是在使用过程中遇到编译窗口中文乱码的问题,这个问题找了好久没人知道怎么解决.如下: 这个问题不解决,每次编译失败,研发 ...

  4. R语言数据管理(五)

    一.数据的输入: 手动输入:edit( )函数 也可修改 mydata <- data.frame(age=numeric(0),gender=character(0),weight=numer ...

  5. shell基础part2

    shell基础 一.bash中的变量 1.变量的定义:变量是计算机的内存单元,其中存放的值是可以改变的. 2.变量的设定规则:变量名不能以数字开头:变量的等号两边不能有空格,变量的值如果想有空格必须用 ...

  6. Shell传参的多种方式

    Shell 传参的多种方式 使用$1 $2 这种类似占位符的方式 # 命令行调用 start.sh 8080 9090 # 脚本中获取 port1=$1 # 8080 port2=$2 # 9090 ...

  7. 创建美国地区的appleId

      参考: https://zhuanlan.zhihu.com/p/36574047 美国人身份信息生成: https://www.fakeaddressgenerator.com/Index/in ...

  8. Example 1 - XY plots

    http://www.ncl.ucar.edu/Document/Manuals/Getting_Started/Examples/gsun01n.shtml Frame 1 Frame 2 Fram ...

  9. 字典树 HDU 1251 统计难题

    ;} 之前写的#include<iostream> #include<algorithm> #include<stdio.h> using namespace st ...

  10. 织梦dedecms 无法下载远程图片 fsockopen函数被禁用的解决方法

    在linux服务器上fsockopen()函数被无情的禁用了(这其实是出于安全考虑,可以理解),下载远程图片的功能就没有办法使用了.找了一些资料之后,找到了解决方法,就是用stream_socket_ ...