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. eclipse同一个工作空间下分开多个项目

    在Package Explorer顶部的右侧有有机表图标按钮,点击倒三角 Top Level Elements->Working Set.此时就会发现,很多项目会自动纳入一个文件夹,这个文件夹的 ...

  2. 九度OJ 1214:丑数 (整除)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:2180 解决:942 题目描述: 把只包含因子2.3和5的数称作丑数(Ugly Number).例如6.8都是丑数,但14不是,因为它包含因 ...

  3. x-www-form-urlencoded名字的由来

    1 提交的是表单数据 所以用form. 2 提交的形式是以参数放在url后面的形式提交的 例如,以x1=y1&x2=y2&x3=y3的形式放在url后面的形式提交,所以是urlenco ...

  4. Yii2 高级查询

    首先我们要自己写一个ActiveQuery 类并且继承 Yii2 的 ActiveQuery: namespace api\models; class ActiveQuery extends \yii ...

  5. HTML 5 本地存储

    <!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8& ...

  6. 3.09课·········for循环

    for循环:反复执行某段代码.for循环四要素:初始条件,循环条件,循环体,状态改变.for(初始条件;循环条件;状态改变){ 循环体} 若初始条件满足循环条件,则进入循环体,执行完循环体,跳回到状态 ...

  7. 牛客小白月赛1 H 写真がとどいています 【循环】

    题目链接 https://www.nowcoder.com/acm/contest/85/H 思路 如果熟悉 五线谱 才能做啊... 然后 先竖着遍历 再 横着 遍历 就可以了 AC代码 #inclu ...

  8. 【LeetCode】【动态规划】Generate Parentheses(括号匹配问题)

    描述 Given n pairs of parentheses, write a function to generate all combinations of well-formed parent ...

  9. Data Structure Binary Tree: Connect nodes at same level using constant extra space

    http://www.geeksforgeeks.org/connect-nodes-at-same-level-with-o1-extra-space/ recursive: #include &l ...

  10. MySQL 及 SQL 注入与防范方法

    所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令. 我们永远不要信任用户的输入,我们必须认定用户输入的数据都是不安全的, ...