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)

相关推荐

  • xamarin开发常见错误总结--the operation was canceled

    技术xamarin开发常见错误总结--the operation was canceled xamarin开发常见错误总结--the operation was canceled1.1.1 操作被取消异

    礼包 2021年12月1日
  • 为什么企业出海需要选择美国服务器

    技术为什么企业出海需要选择美国服务器由于现在租用海外建站的用户有不少,主流的主要有香港服务器、美国服务器、台湾服务器等,在这篇文章中,我将讨论什么是租用美国服务器以及您为什么需要它。什么是租用美国服务器? 租用美国服务器

    礼包 2021年12月8日
  • 如何理解UML设计模式

    技术如何理解UML设计模式这篇文章将为大家详细讲解有关如何理解UML设计模式,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1.UML1.1UML是什么一种创建程序模型的可

    攻略 2021年11月23日
  • Java学习笔记12——数据类型思考题

    技术Java学习笔记12——数据类型思考题 Java学习笔记12——数据类型思考题思考题1:
    请问以下代码有没有问题
    double b=12.34;
    float f=d;
    第二行代码错误。double转

    礼包 2021年11月30日
  • 跨境电商租用美国服务器有必要吗

    技术跨境电商租用美国服务器有必要吗对于跨境电商来说随着您的业务增长,您应该关心最重要的一件事是您的网站服务器能够承载更多并发。这里美国服务器在市场上一向以高性价比和强大性能享有盛誉,因此成为很多跨境电商用户搭建商城平台的

    礼包 2021年12月14日
  • ASP.NET Core MVC 模型绑定用法及原理

    技术ASP.NET Core MVC 模型绑定用法及原理 ASP.NET Core MVC 模型绑定用法及原理https://www.cnblogs.com/savorboard/p/aspnetcor

    礼包 2021年11月10日