特别声明:
所有的过滤规则不建议在主库上设置。
 
 

server_id

是一个整数,范围:1 至 power(2,32)-1 之间。
推荐使用端口号+ip最后一位的方式。
唯一区别ID,同一个集群不可重复,从5.6开始可动态修改。
 
server_uuid
唯一区别ID,同一个集群不可重复,从5.6开始可动态修改。
从5.6开始,系统根据函数自动生成唯一的一个值,默认存放在$datadir/auto.cnf  ,MySQL启动时,会判断auto.cnf文件是否存在,如果不存在auto.cnf文件就会创建。在gtid中用此参数标识一个server,而不是server_id。
cat auto.cnf 
[auto]
server-uuid=b16b53da-c1a1-11e6-915f-000c29355816
 
 
log_bin_index
mysql> show variables like 'log_bin_index';
+---------------+---------------------------------------+
| Variable_name | Value                                 |
+---------------+---------------------------------------+
| log_bin_index | /data/mysql/3306/logs/mysql-bin.index |
+---------------+---------------------------------------+
此参数与log_bin_basename 参数文件做的一个前缀。
mysql> show variables like 'log_bin_basename';
+------------------+---------------------------------+
| Variable_name    | Value                           |
+------------------+---------------------------------+
| log_bin_basename | /data/mysql/3306/logs/mysql-bin |
+------------------+---------------------------------+
 
此文件( /data/mysql/3306/logs/mysql-bin.index)可用vi等工具手工编辑。
cat /data/mysql/3306/logs/mysql-bin.index
/data/mysql/3306/logs/mysql-bin.000003
/data/mysql/3306/logs/mysql-bin.000004
/data/mysql/3306/logs/mysql-bin.000005
 
binlog_format
 
binlog日志格式:statement,row,mixed三种。
可动态修改。
生成环境建议使用row格式。
 
 
binlog_cache_size
binlog写入bugger。
建议设置值在1M-4M之间。
 
 
max_binlog_size
限制单个binlog大小。
默认是1G,在生产环境binlog文件生成要两分钟以上,此值推荐使用128M或者256M。
可动态修改。
 
 
 
sync_binlog
多少个SQL之后,调用fdatasync()函数刷新binlog到disk。
(fsync()和fdatasync()的区别是什么?fsync是完全刷新到磁盘,fdatasync值刷新数据,不刷新metedata。)
可动态修改。
交易系统为了安全,建议设置此值为1 。
 
 
 
expire_logs_days
binlog保存多少天。
可动态修改。
推荐此值设置为7天。
 
 
log_bin_trust_function_creators
开启binlog时,是否允许创建存储过程(除非有super权限,或者指定deterministic、reads sql data、no sql)
可动态修改。
推荐开启。
 
 
log_awrnings
如果政治设置的大于1,会在错误日志里看到异常断开的连接(Aborted connection )或者是被拒绝的请求。
 
binlog_row_image
5.6.2后出现。
full:
记录所有的行信息,和以前没有区别。
minimal:
只记录要修改的列的记录
noblob:
记录除了BLOB和TEXT之外的所有字段
注意,当binlog_format = statement的时候,不起作用;
= row的时候,完美支持;
= mixed 的时候,根据实际情况决定;
 
binlog_rows_query_log_events
5.6.2后出现。
 
在row模式下开启该参数,将把sql语句打印到binlog日志里面.默认是0(off);
虽然将语句放入了binlog,但不会执行这个sql,就相当于注释一样.但对于dba来说,在查看binlog的时候,很有用处.
 
基于MySQL 5.6 GTID的Crash Recover 
在5.6.23版本后才稳定。
 
传统复制也是支持的(前提是master_info_repository,relay_log_info_repository  两个值改为table )。
binlog_gtid_simple_recovery( 5.6.21 -5.6.23) 这个功能刚出来不久,在挂掉时,可以找到自己同步到哪里,完成的同步的GTID上接着同步,重新拉一下日志。
如果没启用这个特性,会从binlog全部搜索一下,如果日志很多,需要占用的时间比较多。
 
binlogging_impossable_mode ->binlog_error_action
binlog_error_action 当不能写binlog时,可以爆出来错,默认没开启:IGNORE_ERROR。
 
 
特别说明
5.6.5,5.7.5以后binlog v2格式,引入了GTID,主库是5.5从库是5.6是OK的,但是5.6到5.5或者5.7到5.6是同步不了的,会报错,如果相兼容的话,需要设置两个参数(分别是binlog_checksum=none和log_bin_use_v1_row_events=on)
 
binlog-do-db
binlog记录db,除此外,其他db上的binlog都不记录,存在风险。
use mysql;update db1.t1 set user='user2' where id=1; 这个SQL会记录到binlog里面么?
SBR模式下,这个SQL就不会记录binlog,会导致主从不一致,而在RBR/MBR模式下,则会被记录。
类似CREATE TABLE mydb3.mytable1 like mytable1,则会一如既然的记录binlog,只有INSERT/UPDATE/DELETE不会被记录。
 
binlog-ignore-db
和binlog-do-db规则相反。
se mysql;update db1.t1 set user='user2' where id=1; 这个SQL会记录到binlog里面么?
SBR模式下,这个SQL就不会记录binlog,会导致主从不一致,而在RBR/MBR模式下,则会被记录。
类似CREATE TABLE mydb3.mytable1 like mytable1,则会一如既然的记录binlog,只有INSERT/UPDATE/DELETE不会被记录。
 
max_binlog_cache_size
binlog最大的cache size,有大SQL写入时需要用到,或者大数据LOAD DATA时。
 
binlog_stmt_cache_size
用于cache那些事务中非事务表产生的SQL语句,如果经常在事务中涉及到非事务表,需要加大该参数。
 
binlog_direct_non_transactional_updates 
事务中既有事务表也有非事务表的情况下,发生数据变更时,非事务表会直接写binlog,而不是也和事务表一样缓存在buffer中。
这个参数只影响SBR模式,RBR/MBR不影响。
 
gtid_mode
用于控制是否启用GTID。
如果设置成ON,则必须是log_bin,log_slave_updates,enforce_gtid_consistency 也要启用。
 
enforce_gtid_consistency 
如果开启了GTID必须把这个参数选项打开。
用于控制只有是事务安全的语句才能被记录到log中。
 
gtid_next
5.6.5后出现。
用来表示下一个要执行的事务,设置这个变量需要由SUPER权限。
 
gtid_purged
用于指定哪个事务从binlog忽悠了,reset master这个值会被清空。
 
gtid_executed
执行到gtid号及所有执行过gtid号,和executed_gtid_set(show master status,show slave status )输出的这列意思是一样的。
reset master这个值会被清空。
 
 
 
 
 
 

复制相关参数学习笔记--master上的参数的更多相关文章

  1. 复制相关参数学习笔记--slave上的参数

    server_id server_uuid   relay_log io_thread 读取过来的本地日志. relaylog文件名前缀,可以是全路径.   relay_log_index relay ...

  2. Python 学习笔记(上)

    Python 学习笔记(上) 这份笔记是我在系统地学习python时记录的,它不能算是一份完整的参考,但里面大都是我觉得比较重要的地方. 目录 Python 学习笔记(上) 基础知识 基本输入输出 模 ...

  3. Web安全学习笔记 XSS上

    Web安全学习笔记 XSS上 繁枝插云欣 --ICML8 XSS的分类和基本认识 XSS的危害 同源策略的基本认识 一.XSS的分类和基本认识 1. 简介 XSS全称为Cross Site Scrip ...

  4. 2020年Yann Lecun深度学习笔记(上)

    2020年Yann Lecun深度学习笔记(上)

  5. Underscore.js 源码学习笔记(上)

    版本 Underscore.js 1.9.1 一共 1693 行.注释我就删了,太长了… 整体是一个 (function() {...}());  这样的东西,我们应该知道这是一个 IIFE(立即执行 ...

  6. react-native学习笔记--史上最详细Windows版本搭建安装React Native环境配置

    参考:http://www.lcode.org/react-native/ React native中文网:http://reactnative.cn/docs/0.23/android-setup. ...

  7. Linux学习笔记 -- 为 Shell 传递参数

    我们可以在执行 Shell 脚本时,可以向脚本传递参数.脚本内获取参数的格式为:$n.(n 代表一个数字,0为所执行的shell脚本名称,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类 ...

  8. SprimgMVC学习笔记(三)—— 参数绑定

    一.默认支持的参数类型 1.1 需求 打开商品编辑页面,展示商品信息. 1.2 需求分析 编辑商品信息,首先要显示商品详情 需要根据商品id查询商品信息,然后展示到页面. 请求的url:/itemEd ...

  9. python学习笔记(3)--函数、参数、变量、递归

    1.函数基本语法和特性 背景摘要 现在老板让你写一个监控程序,监控服务器的系统状况,当cpu\memory\disk等指标的使用量超过阀值时即发邮件报警,你掏出了所有的知识量吗,写出了以下代码 whi ...

随机推荐

  1. Vue简介以及基本使用

    Vue 是一套构建用户界面的渐进式 框架 框架和库? 框架(基于自身的特点向用户提供一套完整的解决方案,控制权在框架本身,需要使用者按照框架所规定的某种规范进行开发) Vue Angular Reac ...

  2. 洛谷——P1823 音乐会的等待

    https://www.luogu.org/problem/show?pid=1823 题目描述 N个人正在排队进入一个音乐会.人们等得很无聊,于是他们开始转来转去,想在队伍里寻找自己的熟人.队列中任 ...

  3. 前端面试题(计算机网络/http/https)

    (前端面试题大全,持续更新) 输入url的一系列过程 http缓存(缓存生效的情况),拓展下 get与post的异同,POST一般可以发送什么类型的文件 jsonp有什么不好的地方 http请求头(h ...

  4. js常用数据转换&判断

    数组转字符串 var a, b; a = new Array(0,1,2,3,4); b = a.join("-"); //"0-1-2-3-4" 字符串转数组 ...

  5. time and datetime

    一.简述 我们在写代码的过程经常遇到时间模块,如果我们以后需要根据时间去筛选信息的话,那用户会更大,所以今天就来讲讲时间的两大模块:time & datetime 二.time模块 1.tim ...

  6. 《社交红利》读书总结--如何从微信微博QQ空间等社交网络带走海量用户、流量与收入

    <社交红利--如何从微信微博QQ空间等社交网络带走海量用户.流量与收入>--徐志斌 著 <社交红利>这本书2013年9月才上市,卖的非常火. 我最初是在公司内部的期刊上,看到有 ...

  7. 使用Struts2和jQuery EasyUI实现简单CRUD系统(七)——数据分页处理

    上篇完毕多选删除的功能之后,接下来就是做分页功能了.曾经的分页是一个麻烦的问题.并且数据量巨大的时候,直接把这些元素取出来显然速度较慢,所以取一定区间的数据还是高效的. watermark/2/tex ...

  8. Varnish 实战

    Varnish 实战项目   目录 实现基于Keepalived+Haproxy+Varnish+LNMP企业级架构 一.环境准备 1.1 相关配置 1.2 安装服务 1.3 关闭防火墙及selinu ...

  9. Python内部机制-PyObject对象

    PyObject对象机制的基石 学过Python的人应该非常清晰,Python中一切都是对象,全部的对象都有一个共同的基类,对于本篇博文来说,一切皆是对象则是探索Python的对象机制的一个入口点.我 ...

  10. 深入理解线程本地变量ThreadLocal

    ThreadLocal理解: 假设在多线程并发环境中.一个可变对象涉及到共享与竞争,那么该可变对象就一定会涉及到线程间同步操作,这是多线程并发问题. 否则该可变对象将作为线程私有对象,可通过Threa ...