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)

相关推荐

  • 怎么使用awk语言编写脚本

    技术怎么使用awk语言编写脚本这篇文章将为大家详细讲解有关怎么使用awk语言编写脚本,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。和写 shell 脚本差不多,awk 脚本以下面这一行

    攻略 2021年10月26日
  • 磁盘管理diskcatalogmaker(如何用mac磁盘工具修复磁盘)

    技术DiskCatalogMaker for Mac磁盘管理工具怎么用这篇文章将为大家详细讲解有关DiskCatalogMaker for Mac磁盘管理工具怎么用,文章内容质量较高,因此小编分享给大家做个参考,希望大家

    攻略 2021年12月24日
  • 如何浅析客舱服务开题报告(如何浅析以前文学作品)

    技术如何浅析Go-To-Market本篇文章给大家分享的是有关如何浅析Go-To-Market,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Go-To-Ma

    攻略 2021年12月18日
  • 分布式机器学习中的模型聚合

    技术分布式机器学习中的模型聚合 分布式机器学习中的模型聚合我follow的这篇论文在联邦学习(分布式)的情景下引入了多任务学习,其采用的手段是使每个client/task节点的训练数据分布不同,从而使各

    礼包 2021年12月3日
  • 网络电视怎么调出频道,网络机顶盒怎么看电视频道

    技术网络电视怎么调出频道,网络机顶盒怎么看电视频道身边好多人买了网络机顶盒,但不知道怎么操作使用它来看电视直播网络电视怎么调出频道。下面我就以自家的电视盒子来教大家如何看直播的详细操作方法吧。1、打开电脑上的搜索当贝市场

    生活 2021年10月23日
  • 猪宝宝小名,我想帮宝宝取个好听的小名

    技术猪宝宝小名,我想帮宝宝取个好听的小名姓名,记录着宗族血统的烙印,凝聚着父母对孩子的深情厚义,隐喻着不同的理想追求和目标;姓名,传承了人的情、意、志;姓名,蕴含了人的精、气、神猪宝宝小名。人的姓名不只是一个人体符号,而

    生活 2021年10月30日