iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >MySQL 5.7如何使用GTID方式搭建复制环境
  • 738
分享到

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

2024-04-02 19:04:59 738人浏览 薄情痞子
摘要

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

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

当使用GTIDs(global transaction identifiers),每个事务在提交时,都会被标记一个独特的事务号,被用于在备库上应用,这样在搭建复制环境时,不用使用日志文件和日志位置的传统方式搭建,大大简化了复制环境的搭建流程。可以使用语句级别和行级别的复制格式,建议使用行级别的复制格式。

GTID的格式如下
GTID = source_id:transaction_id
source_id代表源服务端,transaction_id代表事务的顺序号。

限制:
因为以GTID为基础的复制时基于事务的,一些特性在复制中会有限制。
不支持非事务性的表,如MyISAM表等。
不支持CREATE TABLE ... SELECT语句。CREATE TABLE ... SELECT对于语句级别的复制格式不安全。当使用行级别的复制格式时,这个语句在日志中被记录成两个单独的事件,一个是表的创建,另一个是表的插入操作。当这个语句在一个事务中被执行时,在某些情况下这两个事件会被分配相同的事务号,这样第2个执行插入操作的事务可能会被从库跳过。
临时表。在事务内部,GTID复制不支持CREATE TEMPORARY TABLE、DROP TEMPORARY TABLE语句。
GTID复制不支持sql_slave_skip_counter参数。如果需要跳过事务,使用主库上的gtid_executed参数。
主库gtid_purged参数包含了所有在主库二进制日志中清除的所有事务。

搭建流程:

编辑主库的配置文件,并重启主库
# Log
server-id = 27100
log-bin = production-bin
#log-bin-index = /log/production-bin.index
binlog_fORMat = row
log_slave_updates
gtid-mode = ON
enforce-gtid-consistency = ON

编辑从库的配置文件,并重启从库
# Log
server-id = 35100
log-bin = production-bin
#log-bin-index = /log/production-bin.index
binlog_format = row
log_slave_updates
gtid-mode = ON
enforce-gtid-consistency = ON

在主库上导出备份,并传输到从库
[root@localhost 20160609]# mysqldump -uroot -p'System#2013' -S /var/lib/mysql/mysql.sock -A -R --single-transaction --default-character-set=utf8 > 20160609.sql

在从库上应用备份
[root@localhost 20160609]# mysql -uroot -p'System#2013' < 20160609.sql

在Master数据库上面创建复制专用账户
mysql> grant replication slave on *.* to 'repl'@'192.168.78.%' identified by 'Mysql#2015';
Query OK, 0 rows affected, 1 warning (0.17 sec)

在从库上执行CHANGE MASTER命令
mysql> change master to
    -> master_host='192.168.78.141',
    -> master_port=3306,
    -> master_user='repl',
    -> master_passWord='Mysql#2015',
    -> master_auto_position = 1;
Query OK, 0 rows affected, 2 warnings (0.31 sec)

--启动IO和SQL线程
mysql> 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方式搭建复制环境”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网数据库频道!

您可能感兴趣的文档:

--结束END--

本文标题: MySQL 5.7如何使用GTID方式搭建复制环境

本文链接: https://www.lsjlt.com/news/62800.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQL 5.7如何使用GTID方式搭建复制环境
    这篇文章主要为大家展示了“MySQL 5.7如何使用GTID方式搭建复制环境”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“MySQL 5.7如何使用GTID方式...
    99+
    2024-04-02
  • MySQL 5.7 基于GTID搭建主从复制
    MySQL 5.7 基于GTID搭建主从复制    一、搭建过程 1.1 准备三个MySQL实例 mysqld --initialize-insecure --use...
    99+
    2024-04-02
  • MySQL 5.5如何使用Xtrabackup在线搭建复制环境
    这篇文章给大家分享的是有关MySQL 5.5如何使用Xtrabackup在线搭建复制环境的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。--编辑Master的配置文件 [root@...
    99+
    2024-04-02
  • 如何用源码方式搭建LNMP环境
    这篇文章主要讲解了“如何用源码方式搭建LNMP环境”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何用源码方式搭建LNMP环境”吧!源码方式搭建LNMP环境1、安装 RedHat8Cento...
    99+
    2023-07-05
  • Lamp环境中如何搭建Mysql与PHP环境的搭建
    今天就跟大家聊聊有关  Lamp环境中如何搭建Mysql与PHP环境的搭建,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。 Lam...
    99+
    2024-04-02
  • docker创建MySQL镜像,搭建主从复制环境
    docker创建MySQL镜像,搭建主从复制环境 前言一、编写Dockerfile制作mysql镜像编写Dockerfile文件编写mysql_file文件:编写run.sh文件build M...
    99+
    2023-09-28
    centos linux docker
  • 如何进行mysql5.7.15 主从复制环境搭建
    本篇文章为大家展示了如何进行mysql5.7.15 主从复制环境搭建,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。 ...
    99+
    2024-04-02
  • 如何使用docker搭建kafka环境
    这篇文章主要介绍“如何使用docker搭建kafka环境”,在日常操作中,相信很多人在如何使用docker搭建kafka环境问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何使用docker搭建kafka环境...
    99+
    2023-06-19
  • 如何使用eclipse搭建Swt环境
    本篇内容主要讲解“如何使用eclipse搭建Swt环境”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用eclipse搭建Swt环境”吧!一、查看当前使用的eclipse 版本型号在exlp...
    99+
    2023-06-22
  • 使用WAMP5搭建Apache+MySQL+PHP环境
    搭建Apache+MySQL+PHP环境使用WAMP5非常简单,以下是步骤:1. 下载WAMP5软件:前往WAMP5官方网站(htt...
    99+
    2023-08-23
    mysql
  • MYSQL主从复制的搭建方式
    本篇内容主要讲解“MYSQL主从复制的搭建方式”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MYSQL主从复制的搭建方式”吧!前言:MYSQL的主从复制的原理跟...
    99+
    2024-04-02
  • 如何搭建PHP+MySQL开发环境
    今天小编给大家分享一下如何搭建PHP+MySQL开发环境的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。安装本地服务器软件安装...
    99+
    2023-07-05
  • 如何搭建Apache+MySQL+PHP的环境
    本篇内容主要讲解“如何搭建Apache+MySQL+PHP的环境”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何搭建Apache+MySQL+PHP的环境”吧...
    99+
    2024-04-02
  • 如何在Mac下搭建MySQL环境
    小编给大家分享一下如何在Mac下搭建MySQL环境,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧! 方法一:用dmg镜像安装1、安装官网下载好 MySQL Mac...
    99+
    2024-04-02
  • 在流复制主备环境下怎么使用HAProxy搭建负载均衡环境
    这篇文章主要介绍“在流复制主备环境下怎么使用HAProxy搭建负载均衡环境”,在日常操作中,相信很多人在在流复制主备环境下怎么使用HAProxy搭建负载均衡环境问题上存在疑惑,小编查阅了各式资料,整理出简单...
    99+
    2024-04-02
  • 如何搭建MySQL Group Replication测试环境
    这篇文章给大家分享的是有关如何搭建MySQL Group Replication测试环境的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。    最近看了下My...
    99+
    2024-04-02
  • Ubuntu 8.04下如何搭建PHP+MySQL环境
    这篇文章主要介绍“Ubuntu 8.04下如何搭建PHP+MySQL环境”,在日常操作中,相信很多人在Ubuntu 8.04下如何搭建PHP+MySQL环境问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Ubu...
    99+
    2023-06-13
  • 如何用vscode搭建php环境
    本篇内容介绍了“如何用vscode搭建php环境”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!安装PHP要在VS Code中搭建PHP环境,...
    99+
    2023-07-05
  • Redis环境搭建和使用的方法
    这篇文章主要介绍“Redis环境搭建和使用的方法”,在日常操作中,相信很多人在Redis环境搭建和使用的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Redis环境搭建和...
    99+
    2024-04-02
  • CentOS7上如何使用pyenv搭建Django环境
    这篇文章主要介绍CentOS7上如何使用pyenv搭建Django环境,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、pyenv是什么?能做什么?pyenv是一个forked自ruby社区的简单、低调、遵循UNIX...
    99+
    2023-06-25
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作