MySQL 5.7如何使用GTID方式搭建复制环境

技术MySQL 5.7如何使用GTID方式搭建复制环境这篇文章主要为大家展示了“MySQL 5.7如何使用GTID方式搭建复制环境”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下

本文主要向您展示MySQL 5.7如何使用GTID构建复制环境。内容简单易懂,条理清晰,希望能帮你解开疑惑。让边肖带领大家学习《MySQL 5.7如何使用GTID构建复制环境》一文。

当使用GTIDS(全局事务标识符)时,每个事务在提交时都将被标记一个唯一的事务号,该事务号将在备份数据库中使用。因此,在构建复制环境时,不需要传统的设置日志文件和日志位置的方式,这大大简化了设置复制环境的过程。可以使用语句级和行级复制格式,建议使用行级复制格式。

GTID的格式如下。

GTID=source _ id : transaction _ id

Source_id表示源服务器,transaction_id表示事务的序列号。

限制:

因为基于GTID的复制是基于事务的,所以某些功能在复制中会受到限制。

不支持非事务性表,如MyISAM表。

创建表格.不支持SELECT语句。创建表格.SELECT对于语句级的复制格式是不安全的。当使用行级复制格式时,该语句在日志中被记录为两个独立的事件,一个是表的创建,另一个是表的插入。当在事务中执行此语句时,在某些情况下,这两个事件将被分配相同的事务号,因此可以从库中跳过执行插入操作的第二个事务。

临时桌子。在事务中,GTID复制不支持创建临时表和删除临时表语句。

GTID复制不支持sql_slave_skip_counter参数。如果需要跳过事务,请在主库中使用gtid_executed参数。

主库gtid_purged参数包含主库二进制日志中清除的所有事务。搭建流程:

编辑主库的配置文件并重新启动主库。

#日志

服务器id=27100

对数箱

# log-bin-index=/log/production-bin . index

binlog_format=row

日志_从属_更新

gtid-模式=开

强制一致性=开

编辑从库的配置文件并重新启动从库。

#日志

服务器id=35100

对数箱

# log-bin-index=/log/production-bin . index

binlog_format=row

日志_从属_更新

gtid-模式=开

强制一致性=开

导出主库中的备份,并将其传输到从库中。

[root @ localhost 20160609]# MySQL dump-uroot-p ' system # 2013 '-S/var/lib/MySQL/MySQL . sock-A-R-单事务-默认-字符集=utf8 20160609.sql

应用库中的备份。

[root @ localhost 20160609]# MySQL-uroot-p ' system # 2013 ' 20160609 . SQL

为主数据库上的复制创建一个特殊帐户。

mysql在*上授予复制从属权限。*至“repl ”@ ' 192 . 168 . 78。“%”由“Mysql#2015”标识;

查询正常,0行受影响,1条警告(0.17秒)

从库中执行变更主命令。

mysql将主服务器更改为

- master_host='192.168.78.141 ',

- master_port=3306,

- master_user='repl ',

- master_password='Mysql#2015 ',

-master _ auto _ position=1;

查询正常,0行受影响,2个警告(0.31秒)

-启动IO和SQL线程。

关系型数据库

start slave;
Query OK, 0 rows affected (0.04 sec)

mysql> show slave status\G
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 192.168.78.141
                  Master_User: repl
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: production-bin.000002
          Read_Master_Log_Pos: 448
               Relay_Log_File: localhost-relay-bin.000002
                Relay_Log_Pos: 671
        Relay_Master_Log_File: production-bin.000002
             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: 0
                   Last_Error: 
                 Skip_Counter: 0
          Exec_Master_Log_Pos: 448
              Relay_Log_Space: 882
              Until_Condition: None
               Until_Log_File: 
                Until_Log_Pos: 0
           Master_SSL_Allowed: No
           Master_SSL_CA_File: 
           Master_SSL_CA_Path: 
              Master_SSL_Cert: 
            Master_SSL_Cipher: 
               Master_SSL_Key: 
        Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
                Last_IO_Errno: 0
                Last_IO_Error: 
               Last_SQL_Errno: 0
               Last_SQL_Error: 
  Replicate_Ignore_Server_Ids: 
             Master_Server_Id: 27100
                  Master_UUID: cf291e84-2c89-11e6-b6f0-000c29631605
             Master_Info_File: /var/lib/mysql/master.info
                    SQL_Delay: 0
          SQL_Remaining_Delay: NULL
      Slave_SQL_Running_State: Slave has read all relay log; waiting for more updates
           Master_Retry_Count: 86400
                  Master_Bind: 
      Last_IO_Error_Timestamp: 
     Last_SQL_Error_Timestamp: 
               Master_SSL_Crl: 
           Master_SSL_Crlpath: 
           Retrieved_Gtid_Set: cf291e84-2c89-11e6-b6f0-000c29631605:1
            Executed_Gtid_Set: cf291e84-2c89-11e6-b6f0-000c29631605:1
                Auto_Position: 1
         Replicate_Rewrite_DB: 
                 Channel_Name: 
           Master_TLS_Version: 
1 row in set (0.00 sec)

mysql> show processlist;
+----+-------------+-----------+------+---------+------+--------------------------------------------------------+------------------+
| Id | User        | Host      | db   | Command | Time | State                                                  | Info             |
+----+-------------+-----------+------+---------+------+--------------------------------------------------------+------------------+
|  4 | root        | localhost | fire | Query   |    0 | starting                                               | show processlist |
|  6 | system user |           | NULL | Connect |  480 | Waiting for master to send event                       | NULL             |
|  7 | system user |           | NULL | Connect |  153 | Slave has read all relay log; waiting for more updates | NULL             |
+----+-------------+-----------+------+---------+------+--------------------------------------------------------+------------------+
3 rows in set (0.02 sec)

以上是“MySQL 5.7如何使用GTID方式搭建复制环境”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/66419.html

(0)

相关推荐

  • VTK中常用控件介绍及如何实现圆锥体绘制

    技术VTK中常用控件介绍及如何实现圆锥体绘制VTK中常用控件介绍及如何实现圆锥体绘制,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。利用 VT

    攻略 2021年11月15日
  • 小草怎么画,怎样画简笔画“冬虫夏草”

    技术小草怎么画,怎样画简笔画“冬虫夏草”方法小草怎么画:1、在白纸上用曲线画出冬虫夏草的轮廓。
    2、再用一条弯曲的曲线画出虫子的形态,这是一种冬天的形状。
    3、用曲线画出它的尾巴部分,这其实就像根须一样。
    4、再用小线条

    生活 2021年10月31日
  • 使用Vue写一个登录页面

    技术使用Vue写一个登录页面 使用Vue写一个登录页面使用Vue写一个登录页面上一博客讲到构建了一个vue项目,现在在那个项目之上实现一个登录页面。
    1.构建项目的目录2.App.vuetemplate

    礼包 2021年10月27日
  • Jenkins执行远程Windows批处理遇到的权限问题有哪些

    技术Jenkins执行远程Windows批处理遇到的权限问题有哪些这篇文章给大家分享的是有关Jenkins执行远程Windows批处理遇到的权限问题有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来

    攻略 2021年11月23日
  • 求圆的面积公式,用直径计算圆面积的公式

    技术求圆的面积公式,用直径计算圆面积的公式圆用直径算面积公式:S=πd²/4其中:S表示圆的面积求圆的面积公式,d表示圆的直径;圆的概念1.到定点的距离等于定长的点的集合叫做圆。这个定点叫做圆的圆心,通常用字母“o”表示

    生活 2021年10月23日
  • caffe如何安装

    技术caffe如何安装这篇文章主要介绍了caffe如何安装,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。系统及工具包win10visual studio

    攻略 2021年11月25日