---恢复内容开始---

环境:centos6.5       mariadb:10.1.13-MariaDB

GTID:GTID是有服务器的UUID和事务序号组成的唯一事务序号 ---UUID:N

   作用:1.用来追踪主从之间的事务传输。

      2.进行多线程复制:master服务器中启动一个binlog线程来相应slave端的I/O线程。

          一个I/O线程对主服务器进行mysqldump请求,多个SQL线程对slave中的中继日志中的不同事务通过不同的线程进行应用。

master:192.168.88.147

slave:192.168.88.148

一、主从复制:

  1.master和slave上的配置:vim /etc/my.cnf

 mstaer端:
binlog-format=ROW #二进制日志的格式,有row、statement和mixed几种类型:需要注意的是:当设置隔离级别为READ-COMMITED必须设置二进制日志格式为ROW,现在MySQL官方认为STATEMENT这个已经不再适合继续使用;但mixed类型在默认的事务隔离级别下,可能会导致主从数据不一致;
log-bin=slave-bin
#gtid-mode=on #在MariaDB上不需要
#enforce-gtid-consistency=true #在MariaDB上不需要
log-slave-updates=true
master-info-repository=TABLE
relay-log-info-repository=TABLE
sync-master-info=
slave-parallel-threads= #在mysql5.6以上版本须写为slave-parallel-workers
binlog-checksum=CRC32
master-verify-checksum=
slave-sql-verify-checksum=
binlog-rows-query-log_events=
server-id=
report-port=
port=
datadir=/mydata/data
socket=/tmp/mysql.sock
report-host=www.master.com slave端:
binlog-format=ROW
log-bin=master-bin
log-slave-updates=true
master-info-repository=TABLE
relay-log-info-repository=TABLE
sync-master-info=
slave-parallel-threads=
binlog-checksum=CRC32
master-verify-checksum=
slave-sql-verify-checksum=
binlog-rows-query-log_events=
server-id=
report-port=
port=
datadir=/mydata/data
socket=/tmp/mysql.sock
report-host=www.master.com 上述选项详解:
binlog-format:二进制日志的格式,有row、statement和mixed几种类型;
需要注意的是:当设置隔离级别为READ-COMMITED必须设置二进制日志格式为ROW,现在MySQL官方认为STATEMENT这个已经不再适合继续使用;但mixed类型在默认的事务隔离级别下,可能会导致主从数据不一致;
log-slave-updates、gtid-mode、enforce-gtid-consistency、report-port和report-host:用于启动GTID及满足附属的其它需求;
master-info-repository和relay-log-info-repository:启用此两项,可用于实现在崩溃时保证二进制及从服务器安全的功能;
sync-master-info:启用之可确保无信息丢失;
slave-parallel-workers:设定从服务器的SQL线程数;0表示关闭多线程复制功能;MariaDB上是slave-parallel-threads
binlog-checksum、master-verify-checksum和slave-sql-verify-checksum:启用复制有关的所有校验功能;
binlog-rows-query-log-events:启用之可用于在二进制日志记录事件相关的信息,可降低故障排除的复杂度;
log-bin:启用二进制日志,这是保证复制功能的基本前提;
server-id:同一个复制拓扑中的所有服务器的id号必须惟一;

  2.在master上授权复制用户:

 MariaDB [(none)]> grant replication slave,replication client on *.* to 'daixiang'@'192.168.88.%' identified by 'daixiang';
MariaDB [(none)]> flush privileges;

  3.在slave从服务器上设置将从服务器指向主服务器,并启动复制线程:

MariaDB [(none)]> change master to MASTER_HOST='192.168.88.147',MASTER_USER='daixiang',MASTER_PASSWORD='daixiang',MASTER_USE_GTID=current_pos;
  注意:在mysql5.6以后的版本,需要使用此命令指定主服务器:mysql> CHANGE MASTER TO MASTER_HOST='master.magedu.com', MASTER_USER='repluser', MASTER_PASSWORD='replpass', MASTER_AUTO_POSITION=1;
     如果没有启用GTID功能,则需要使用下面的命令:

          slave> CHANGE MASTER TO MASTER_HOST='172.16.100.6',
              -> MASTER_USER='repluser',
              -> MASTER_PASSWORD='replpass',
              -> MASTER_LOG_FILE='master-bin.000003',
              -> MASTER_LOG_POS=1174;

MariaDB [(none)]> START SLAVE;
MariaDB [(none)]> show slave status\G
*************************** . row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.88.147
Master_User: daixiang
Master_Port:
Connect_Retry:
Master_Log_File: master-bin.
Read_Master_Log_Pos:
Relay_Log_File: www-relay-bin.
Relay_Log_Pos:
Relay_Master_Log_File: master-bin.
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno:
Last_Error:
Skip_Counter:
Exec_Master_Log_Pos:
Relay_Log_Space:
Until_Condition: None
Until_Log_File:
Until_Log_Pos:
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master:
Master_SSL_Verify_Server_Cert: No
Last_IO_Errno:
Last_IO_Error:
Last_SQL_Errno:
Last_SQL_Error:
Replicate_Ignore_Server_Ids:
Master_Server_Id:
Master_SSL_Crl:
Master_SSL_Crlpath:
Using_Gtid: Current_Pos
Gtid_IO_Pos: --
Replicate_Do_Domain_Ids:
Replicate_Ignore_Domain_Ids:
Parallel_Mode: conservative
row in set (0.00 sec)

  4.查看从服务器上的线程情况:

MariaDB [(none)]> show processlist;
+----+-------------+-----------+------+---------+------+-----------------------------------------------------------------------------+------------------+----------+
| Id | User | Host | db | Command | Time | State | Info | Progress |
+----+-------------+-----------+------+---------+------+-----------------------------------------------------------------------------+------------------+----------+
| | system user | | NULL | Connect | | Waiting for master to send event | NULL | 0.000 |
| | system user | | NULL | Connect | | Waiting for work from SQL thread | NULL | 0.000 |
| | system user | | NULL | Connect | | Waiting for work from SQL thread | NULL | 0.000 |
| | system user | | NULL | Connect | | Slave has read all relay log; waiting for the slave I/O thread to update it | NULL | 0.000 |
| | root | localhost | NULL | Query | | init | show processlist | 0.000 |
+----+-------------+-----------+------+---------+------+-----------------------------------------------------------------------------+------------------+----------+
rows in set (0.00 sec) 这几个线程分别是:
15号:主进程
13号:I/O线程
12号、11号:SQL线程
10号:监听的守护进程

  5.查看主服务器上的线程情况:

MariaDB [(none)]> show processlist;
+----+----------+----------------------+------+-------------+------+-----------------------------------------------------------------------+------------------+----------+
| Id | User | Host | db | Command | Time | State | Info | Progress |
+----+----------+----------------------+------+-------------+------+-----------------------------------------------------------------------+------------------+----------+
| | daixiang | 192.168.88.148: | NULL | Binlog Dump | | Master has sent all binlog to slave; waiting for binlog to be updated | NULL | 0.000 |
| | root | localhost | NULL | Query | | init | show processlist | 0.000 |
+----+----------+----------------------+------+-------------+------+-----------------------------------------------------------------------+------------------+----------+
rows in set (0.00 sec)

---恢复内容结束---

mariadb10.1.13GTID实现主从复制的更多相关文章

  1. Mysql的ssl主从复制+半同步主从复制

    Mysql的ssl主从复制+半同步主从复制 准备工作 1.主从服务器时间同步 [root@localhost ~]# crontab -e */30 * * * * /usr/sbin/ntpdate ...

  2. MariaDB——(三) MariaDB 10.0.15 standard replication主从复制搭建

    最近看了一下MariaDB的常规复制章节,就按部就班的搭建了一下最简单的主从复制.需要的硬件环境很简单(在虚拟机VMware中搭建): 1:两台server:Master: 192.168.6.133 ...

  3. mysql主从复制,及扩展

    一.MySQL简单复制相关概念: 1. mysql复制的意义:Mysql复制是使得mysql完成高性能应用的前提 2. mysql复制的机制: SLAVE端线程: IO thread: 向主服务请求二 ...

  4. MySQL(mariadb)多实例应用与多实例主从复制

    MySQL多实例 mysql多实例,简单理解就是在一台服务器上,mysql服务开启多个不同的端口(如3306.3307,3308),运行多个服务进程.这些 mysql 服务进程通过不同的 socket ...

  5. MySQL(mariadb)主从复制模式与复制过滤

    在前一篇文章<mysql多实例与复制应用>中只对mysql的复制做了简单的介绍,本篇内容专门介绍一下mysql的复制. MySQL复制 mysql复制是指将主数据库的DDL和DML操作通过 ...

  6. Mariadb/Mysql 主从复制(1)

    一.原理 mysql的主从数据同步是一个异步复制过程,需要master开启bin-log日志功能,bin-log记录了master库中的增.删.修改.更新操作的sql语句,整个过程需要开启3个线程,分 ...

  7. Mysql实现数据库主从复制架构

    MySQL复制 (1)扩展方式: Scale Up ,Scale Out (2)MySQL的扩展 读写分离 复制:每个节点都有相同的数据集 向外扩展 二进制日志 单向 (3)复制的功用: 数据分布 负 ...

  8. MariaDB数据库---主从复制,galera架构

    主从复制 补充一点:⑤slave端的IO thread 将从master端请求来的二进制日志文件中的内容存储到relay_log(中继日志)中 图片来源:https://www.cnblogs.com ...

  9. mysql主从复制,主主复制,级联复制,半同步复制

    -------------------------------------------------------------------------------主从复制----------------- ...

随机推荐

  1. 从css样式表中抽取元素尺寸

    jS从样式表取值的函数.IE中以currentStyle,firefox中defaultView来获取 DOM.style仅仅能读到写在html中的样式值 获取样式值的函数 function retu ...

  2. Nginx(二)-- 配置文件之虚拟主机配置

    1.配置文件与解释 #user nobody; worker_processes 1; # 设置工作子进程,默认是1个工作子进程,可以修改,一般设置为CPU的总核数 #error_log logs/e ...

  3. 苹果降频门:旧款iPhone哪些功能受到影响

    要说苹果最近发生的大事,就数网络上传的沸沸扬扬的降频门事件了,近期苹果在新发布的iOS 11系统中新增了一项功能,意在降低旧款手机的电量消耗,但限制了旧款iPhone的性能,那么iPhone有哪些功能 ...

  4. saltstack安装

    环境: 172.16.202.104 stack-master 172.16.202.108 stack-node01 172.16.202.105 stack-node02 安装 导入yum源认证的 ...

  5. poj_1475 BFS+BFS

    题目大意 推箱子游戏的基本玩法,求将箱子推到目的地的推动次数最少(并不是人移动总次数)的人移动路径. 题目分析 求最短路径的搜索问题,使用BFS.注意题目求的是 推动次数最少,因此将箱子移动作为状态, ...

  6. 硝烟中的Scrum和XP-我们如何实施Scrum 12)发布计划 13)组合XP

    12 怎样制定发布计划, 处理固定价格的合同 一次只计划一个sprint的事情会显得提前量不足, 提前做计划是个好习惯; 尤其是签了固定价格的合同之后, 不得不预先计划好, 防止无法按期交付的危险情况 ...

  7. 【Android N 7】使用量统计usagestats

    Android N 7.1.1 高通 1. /data/system/usagestats/0 2. 每天使用量统计 /data/system/usagestats/0/daily 查看数值: cat ...

  8. bootstrap之按钮和图片

    一.按钮 类 描述 .btn 为按钮添加基本样式 .btn-default 默认/标准按钮 .btn-primary 原始按钮样式(未被操作) .btn-success 表示成功的动作 .btn-in ...

  9. Egret Wing4.1.0 断点调试

    一  双击代码行号左侧打断点 二 选择调试视图工具栏. 三  点击开始调试 1 wing内置播放器调试 选择此项进行调试会打开Egret内置播放器,我这里这个版本该选项无法进行断点... 2 使用本机 ...

  10. TweenLite简单运用

    参考:TweenLite说明 1 ease TweenLite.to(nextLevelTip, 1.5, { x:0, ease:Bounce.easeOut } ); 2 delayCall 语法 ...