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

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. Day5上午解题报告

    预计分数:100+40+30=170 实际假分数:0+0+0=0 CE*3 实际真分数:60+50+0=110 老师没把我的程序放的文件夹里面,于是..... T1 https://www.luogu ...

  2. Loadrunner经典测试实例

    Loadrunner经典测试实例

  3. 【例题 8-4 UVA - 11134】Fabled Rooks

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 显然把问题分解成两个子问题. x轴和y轴分别做. 即n个点要求第i个点在[li,ri]范围内.(ri<=n) 问是否可行. 按 ...

  4. android开发者要懂得问题答案

    我在网上看了一下有些人在博客上提出一些什么android开发者必须懂得问题,可是就是没有答案,所以我就把这些问题拷贝过来了.顺便也把全部的答案加上,为了让很多其它的开发者高速的找到答案,谢谢! 以下的 ...

  5. Oracle实现数据不存在则插入,数据存在则更新(insert or update)

    思路是写一个函数,先按条件查询数据,假设查询到数据则更新.假设没有查询到数据则插入: create or replace function fn_merge_index(statdate in dat ...

  6. setting.system-全局属性的设定

    SystemProperties跟Settings.System 1 使用 SystemProperties.get如果属性名称以“ro.”开头,那么这个属性被视为只读属性.一旦设置,属性值不能改变. ...

  7. Myeclipse的默认工作区间怎么恢复提示框?

    好久一直使用默认工作空间.现在,回过头来想让那个提示框回来. 该如何做呢? 1.找到我们的myeclipse安装目录下的 2.false是关闭. 3.改成true 4.同时,新增新的工作区间和之前旧的 ...

  8. mysql测试spring事务是否生效

    同时对三张表进行插入操作,事务保证完整性.下面进行简单测试: 1. 锁定表 锁定用户表 LOCK TABLES user WRITE; 查看表是否锁定: show ; 显示被锁定的表. 2. 验证在同 ...

  9. Java Web学习总结(6)——通过Servlet生成验证码图片

    一.BufferedImage类介绍 生成验证码图片主要用到了一个BufferedImage类,如下: 创建一个DrawImage Servlet,用来生成验证码图片 package gacl.res ...

  10. WCF REST (一)

    最近工作中学习使用了WCF REST,REST 有很多好处 高效 简约  面向资源  而客户端调用 也变得非常简单.REST 入门的资料等 大家可以去网上找 这里主要分享下遇到的问题以及解决~ 一.环 ...