实现环境:
  Master 主:192.168.0.102 (Mysql 5.6.36)
  Slave  从 :192.168.0.103 (Mysql 5.6.36)

步骤
1.在主DB服务器上建立复制账号 (在Master上执行)
  # mysql
  mysql> CREATE USER 'repl'@'192.168.0.%' identified by '123456';
  mysql> GRANT REPLICATION SLAVE ON *.* ' TO repl'@'192.168.0.%';

2.主服务器配置 (在Master上执行)
  # vim /etc/my.cnf
    [mysqld]
    basedir = /usr/local/mysql
    datadir = /data/mysql
    port = 3306

    # binary logging #
    log-bin = /data/mysql/log-bin #启动二进制日志

    # replice #
    server_id = 102 #指定服务ID
    gtid_mode = on #开启GTID模式
    enforce_gtid_consiste = on #强制GTID一致性(开启后CREATE TABLE ……SELECT ,创建临时表的语句不能再使用了)
    log_slave_updates = on #将中继日志执行的结果写入到二进制日志中(5.7后在主库上可以不开,5.7强制开启)

3.从服务器配置 (在Slave上执行)
  # vim /etc/my.cnf
    [mysqld]
    basedir = /usr/local/mysql
    datadir = /data/mysql
    port = 3306

    # binary logging #
    log-bin = /data/mysql/mysql-bin #启动二进制日志

    # replice #
    server-id = 103 #指定服务ID
    relay_log = /data/mysql/relay-bin #启动中继日志
    gtid_mode = on #开启GTID模式
    enforce_gtid_consistency = on #强制GTID一致性(开启后CREATE TABLE ……SELECT ,创建临时表的语句不能再使用了)
    #log_slave_update = on #在中继日志执行后写入到二进制日志中
    #read_only = on #开启只读模式
    #master_info_repository = TABLE #建议开启,有利于数据安全
    #relay_log_info_repository = TABLE #建议开启,有利于数据安全

4.重启主MYSQL (在Master上执行)
  # service mysqld restart
  # #添加一些测试数据用于验证结果
  # mysql
  mysql> CREATE DATABASE CHEN;
  mysql> USE CHEN;
  mysql> CREATE TABLE T1 (ID INT);
  mysql> INSERT INTO T1 VALUES (1),(2),(3);
  mysql> \q

5.重启从MYSQL (在Slave上执行)
  # service mysqld restart

6.备份主数据库(如果主从上的数据库版本一样,可以全备) (在Master上执行)
  # mysqldump --single-transaction --master-data=2 --triggers --routines --all-databases > 101_full.sql

7.将主数据库备份传输到从数据库中 (在Master上执行)
  # scp /root/101_full.sql root@192.168.0.103:/root

8.将主数据库的备份导入到从数据库中 (在Slave上执行)
  # mysql -uroot -p < 101_full.sql

9.初始复制链路 (在Slave上执行)
  # mysql
  mysql> change master to master_host='192.168.0.102',
    -> master_user='repl',
    -> master_password='123456',
    -> master_auto_position=1;

10.启动当检查结果
  mysql> start slave; (在Slave上执行)

  mysql> show slave status \G (在Slave上执行) 进程启动
  mysql> show processlist; (在Slave上执行) 两个系统进程
  mysql> show processlist; (在Master上执行) 一个系统进行

  mysql> SELECT * FROM `chen`.t1; (在Master上执行) 查检结果是否一致
  mysql> SELECT * FROM `chen`.t1; (在Slave上执行) 查检结果是否一致

  mysql> INSERT INTO `chen`.t1 VALUES (4); (在Master上执行)

  mysql> SELECT * FROM `chen`.t1; (在Master上执行) 查检结果是否一致
  mysql> SELECT * FROM `chen`.t1; (在Slave上执行) 查检结果是否一致

如果都没有问题,那就OK啦

Mysql 基于GTID的主从复制(实操)的更多相关文章

  1. Mysql基于GTID复制模式-运维小结 (完整篇)

    先来看mysql5.6主从同步操作时遇到的一个报错:mysql> change master to master_host='192.168.10.59',master_user='repli' ...

  2. percona mysql server5.7基于gtid的主从复制

    配置mysql基于gtid主从复制架构 一.二进制安装mysql [root@node5 data]# --Linux.x86_64.ssl101.tar.gz [root@node5 data]# ...

  3. mysql主从之基于gtid的主从复制

    一 GITD介绍 1.1 gtid的含义 Global Transaction Identifier,全局事务标识 阿里云的rds目前已经使用gtid 基于gtid的主从复制原理 每个mysql数据库 ...

  4. Mysql5.7实现主从复制、基于GTID的主从复制、并行复制

    (一.主从复制) 一.mysql主从复制原理    mysql的默认复制方式是主从复制.Mysql内建的复制功能是构建大型,高性能应用程序的基础.将Mysql的数据分布到多个系统上去,这种分布的机制, ...

  5. MySQL 基于 GTID 主从架构添加新 Slave 的过程

    内容全部来自: How to create/restore a slave using GTID replication in MySQL 5.6 需求说明 需求: 对于已经存在的 MySQL 主从架 ...

  6. mysql -- mysql基于ssl的主从复制

    mysql基于ssl的主从复制由于mysql在复制过程中是明文的,所以就大大降低了安全性,因此需要借助于ssl加密来增加其复制的安全性. 主服务器node1:172.16.200.1从服务器node2 ...

  7. linux下mysql基于mycat做主从复制和读写分离之基础篇

    Linux下mysql基于mycat实现主从复制和读写分离1.基础设施 两台虚拟机:172.20.79.232(主) 172.20.79.233(从) 1.1软件设施 mysql5.6.39 , my ...

  8. Mysql基于GTID主从复制

    Mysql5.6基于GTID全局事务的复制 什么是GTID?   GTID(Global Transaction Identifiers)是全局事务标识 当使用GTIDS时,在主上提交的每一个事务都会 ...

  9. 实现mysql的读写分离(mysql-proxy)____1(mysql的主从复制,基于gtid的主从复制,半同步复制,组复制)

    主从复制原理: 从库生成两个线程,一个I/O线程,一个SQL线程: i/o线程去请求主库 的binlog,并将得到的binlog日志写到relay log(中继日志) 文件中:主库会生成一个 log ...

随机推荐

  1. Android Notification setLatestEventInfo方法已废弃

    代替setLatestEventInfo的方法是用Notification.Builder创建Builder对象,通过该对象设置Notification相关属性. otification.Builde ...

  2. 在ArcGIS中导出现有mxd的style文件

     做好的地图包含许多地图符号,这是之前花了很多功夫做的,怎么把它导出来再用呢?     在ArcGIS中右键工具栏,customize,选择command选项卡,在搜索框中输入style ,选择too ...

  3. 织梦cms网上复制图片不可用的解决方法

    背景描述: 织梦cms采集图片集时, 需要使用织梦cms提供的"网上复制图片"的功能, 好像我这里这个功能一直不可用, 今天下定决心研究了下源代码并进行了适当修改, 将我的修改提供 ...

  4. UML开发工具Rose ralation的破解安装,

    UML开发工具Rose ralation的在windows764破解安装, 安装下载还可以参考:http://www.cnblogs.com/leaven/p/3718361.html 跟大家分享怎么 ...

  5. PHP模式设计之单例模式、工厂模式、注册树模式、适配器模式、观察者模式

    php模式设计之单例模式 什么是单例模式? 单例模式是指在整个应用中只有一个实例对象的设计模式 为什么要用单例模式? php经常要链接数据库,如果在一个项目中频繁建立连接数据库,会造成服务器资源的很大 ...

  6. [phpvia/via] PHP多进程服务器模型中的惊群

    [ 概述 ] 典型的多进程服务器模型是这样的,主进程绑定ip,监听port,fork几个子进程,子进程安装信号处理器,随后轮询资源描述符检查是否可读可写: 子进程的轮询又涉及到 IO复用,accept ...

  7. copy代码(含static对象)留下的致命错误

    本来以为这个bug快改不好了,然而发现了问题所在 copy代码没有完全改掉对象名称,导致对象重复创建了,由于是static所以debug过程中 注释了addProperty(gridRowDetail ...

  8. 【iOS】UIViewController基类的实现

    继承是面向对象编程语言的三大特性之一,写好基类会给App的开发带来极大的方便.在iOS开发中,一般一个页面就对应一个ViewController,ViewController在开发中用的也很多,写一个 ...

  9. Django之中间件

    中间件简介 什么是中间件 中间件是一个用来处理Django的请求和响应的框架级别的钩子.它是一个轻量.低级别的插件系统,用于在全局范围内改变Django的输入和输出.每个中间件组件都负责做一些特定的功 ...

  10. 单例模式详解及java常用类

    [单例模式]      确保某一个类,只能产生一个实例. 设计思路: ====将构造函数私有化,确保类外部,不能使用new关键字自行创建对象. ====在类内部实例化一个对象,并通过静态方法返回. ( ...