mysql5.6的主从相当的不错,增加了不少参数,提升了主从同步的安全和效率,以下是mysql5.6主从参数详解。

#########################################
server_id = 2
#binlog
log-bin = /data1/mysql/binlog/binlog
binlog_format = ROW
binlog-row-p_w_picpath = minimal
#gtid_mode = ON
#enforce-gtid-consistency = true
binlog_cache_size = 4M
max_binlog_size = 1G
max_binlog_cache_size = 2G
sync_binlog = 1
slave-skip-errors = 1062
expire_logs_days = 3
slave_parallel_workers = 4
#relay log
relay-log = /data1/mysql/relaylog/relaylog
max_relay_log_size = 1G
relay_log_purge = 1
relay_log_recovery = 1
binlog_checksum = CRC32
slave_allow_batching = 1
master_verify_checksum = 1
slave_sql_verify_checksum = 1
binlog_rows_query_log_events = 1
master_info_repository = TABLE
relay_log_info_repository = TABLE
log_slave_updates
#########################################

sync_binlog = 1

默认情况下,并不是每次写入时都将binlog与硬盘同步。因此如果操作系统或机器(不仅仅是MySQL服务器)崩溃,有可能binlog中最后的语句丢 失了。要想防止这种情况,你可以使用sync_binlog全局变量(1是最安全的值,但也是最慢的),使binlog在每N次binlog写入后与硬盘 同步。即使sync_binlog设置为1,出现崩溃时,也有可能表内容和binlog内容之间存在不一致性。如果使用InnoDB表,MySQL服务器 处理COMMIT语句,它将整个事务写入binlog并将事务提交到InnoDB中。如果在两次操作之间出现崩溃,重启时,事务被InnoDB回滚,但仍 然存在binlog中。可以用--innodb-safe-binlog选项来增加InnoDB表内容和binlog之间的一致性。(注释:在MySQL 5.1中不需要--innodb-safe-binlog;由于引入了XA事务支持,该选项作废了),该选项可以提供更大程度的安全,使每个事务的 binlog(sync_binlog =1)和(默认情况为真)InnoDB日志与硬盘同步,该选项的效果是崩溃后重启时,在滚回事务后,MySQL服务器从binlog剪切回滚的 InnoDB事务。这样可以确保binlog反馈InnoDB表的确切数据等,并使从服务器保持与主服务器保持同步(不接收 回滚的语句)。

server_id = 2之前的写法是:server-id = 2

gtid_mode = ON

enforce-gtid-consistency = true

这两个参数是启用mysql5.6中的UUID同步模式,两个参数必须一起打开,否则报错,slave在做同步复制时,无须找到binlog日志和POS点,直接change master to master_auto_position=1即可,自动找点同步。

GTID的局限性: (鉴于这些局限性,慎用)

1.GTID同步复制是基于事务。所以Myisam表不支持,这可能导致多个GTID分配给同一个事务。

2.CREATE TABLE ... SELECT语句不支持。因为该语句会被拆分成create table 和insert两个事务,并且这个两个事务被分配了同一个GTID,这会导致insert被备库忽略掉。

3.不支持CREATE TEMPORARY TABLE、DROP TEMPORARY TABLE 临时表操作。

启用之后进行同步语句:

CHANGE MASTER TO MASTER_HOST='60.2.212.190', MASTER_PORT=3306, MASTER_USER='repl',MASTER_PASSWORD='H7RYbCkGHmm_P1XO', master_auto_position=1;

不启动的话同步语句和之前一样:

change master to

master_host='192.168.100.190',

master_user='repl',

master_password='123456',

master_port=3306,

master_log_file='binlog.000001',

master_log_pos=1287;

start slave;

在5.6的版本中,启动主从为:start slave,而之前用slave start也可以。

binlog-row-p_w_picpath=minimal,这个选项允许应用程序只能对行的镜像数据进行复制,而不在关心行是否已经进行了DML操作。这提高了主从机器的复制吞吐量,减少了二进制日志所占用的磁盘空间、网络资源和内存占用。

slave_parallel_workers = 4 默认是0,不开启,最大并发数为1024个线程。主从复制启用4个sql线程,提高从服务器吞吐量,减少延迟,使用并发的 SQL 线程对不同数据库并行应用事件,如果只同步一个库的,指定为0,否则会阻塞。

binlog_checksum = CRC32

slave_allow_batching = 1

master_verify_checksum = 1

slave_sql_verify_checksum = 1

binlog_rows_query_log_events = 1

这四个参数是启用binlog/relaylog的校验,防止日志出错

relay_log_purge = 1

relay_log_recovery = 1

这两个是启用relaylog的自动修复功能,避免由于网络之类的外因造成日志损坏,主从停止。

master_info_repository = TABLE

relay_log_info_repository = TABLE

这两个参数会将master.info和relay.info保存在表中,默认是Myisam引擎,官方建议用

alter table  slave_master_info engine=innodb;

alter table  slave_relay_log_info engine=innodb;

alter table  slave_worker_info engine=innodb;

改为Innodb引擎,防止表损坏后自行修复。

转载于:https://blog.51cto.com/wangwei007/1205298

mysql5.6主从参数详解相关推荐

  1. MySQL配置文件参数详解

    [client] port = 3307 socket = /usr/local/mysql5_6/mysql.sock default-character-set=utf8 [mysql] prom ...

  2. LNMP nginx1.4.6+php5.5.11+mysql5.6.17+mecache+opcache编译安装+opcache参数详解+opcache可视化php页面代码

    可能要用到的软件: libiconv-1.13.tar.gz  libmcrypt-2.5.8.tar.gz  mcrypt-2.6.8.tar.gz  mhash-0.9.9.9.tar.gz  m ...

  3. MySQL主从同步详解与配置

    https://zhuanlan.zhihu.com/p/335142300 MySQL主从同步详解与配置 第一部分[原理解析] * 应用背景* MySQL数据库自身提供的主从复制功能可以方便的实现数 ...

  4. Redis配置文件redis.conf参数详解

    redis.conf配置文件参数详解 # Redis configuration file example.########################################## GEN ...

  5. 细说show slave status参数详解(最全)

    在搭建好mysql主从之后,我们一般在从库上通过命令 show slave status\G 来查看主从的状态,会有很多的参数,接下来笔者就带大家好好的了解这些参数 参数详解: 1. Slave_IO ...

  6. CI流水线配置文件参数详解(一)

    文章目录 4. 参数详解(一) 4.1 ``script`` 4.2 ``image`` 指定使用Docker镜像.如 ``iamge:name`` ,暂时忽略. 4.3 ``before_scrip ...

  7. 内存性能参数详解(转载)

    内存性能参数详解 先说说最有效提高你机器内存性能的几个参数:CL,TRP,TRCD CAS Latency "列地址选通脉冲潜伏期" BIOS中可能的其他描述为:tCL.CAS L ...

  8. spring boot 实战 / 可执行war启动参数详解

    概述   上一篇文章<spring boot 实战 / mvn spring-boot:run 参数详解>主要讲解了spring boot 项目基于maven插件启动过程中借助profil ...

  9. 调包侠福音!机器学习经典算法开源教程(附参数详解及代码实现)

    Datawhale 作者:赵楠.杨开漠.谢文昕.张雨 寄语:本文针对5大机器学习经典算法,梳理了其模型.策略和求解等方面的内容,同时给出了其对应sklearn的参数详解和代码实现,帮助学习者入门和巩固 ...

最新文章

  1. Linux中断处理流程
  2. C++中的const成员函数(函数声明后加const,或称常量成员函数)用法详解
  3. 【加解密学习笔记:第二天】动态调试工具OllyDbg使用基础介绍
  4. 【ES11(2020)】Dynamic Import 动态引入
  5. Chrome OS 70 发布:这是安卓的私生子吗?
  6. KVM虚拟机添加磁盘空间
  7. 可交互绘图——鼠标移到点的上方会显示该点的标签[jupyter notebook]
  8. 虚拟机和主机通信的机制
  9. BI工具那么多 该如何选择
  10. 如何优雅地使用迅雷下载百度云大文件?
  11. Carrot2 in action_初试身手—融入自己的中文分词器
  12. matlab中怎么找晶闸管,matlab中晶闸管如何连接
  13. echarts最简单的南丁格尔玫瑰图+图例
  14. np.minimum()与tf.minimum()的用法
  15. Layui选项卡Tab和Layui模板laytpl冲突问题
  16. 拟物化设计与扁平化设计
  17. Linux:crond任务调度之at定时任务
  18. 一个 丧心病狂 的开源项目
  19. 笔记本无法连接WiFi
  20. 小米电视不能访问电脑共享文件的解决方案

热门文章

  1. 项目开发中的自我总结
  2. weka 初练之 文本分类
  3. 关于MyEclipse项目的名字的修改对项目导入导出的影响
  4. NYOJ题目839合并
  5. iOS网络编程开发-数据加密
  6. 10个非常有用的CSS hack和技术
  7. vue3学习笔记 Composition API setup
  8. mac上的更新node npm
  9. 最简方式 表格编辑 基于 el-table
  10. ctsc2009 移民站选址