详解MySQL主从复制实战 – 基于GTID的复制

详解MySQL主从复制实战 - 基于GTID的复制

简介

MySQL主从复制是MySQL数据库中常见的一种复制结构,可以实现数据的自动同步和备份。基于GTID的复制是一种相对较新且更稳定、更可靠的复制方式。本文将详细讲解基于GTID的MySQL主从复制实战过程。

环境准备

在进行MySQL主从复制之前,我们需要有两个MySQL实例,其中一个是主库,另一个是从库。

以下是两个MySQL实例的配置信息:

主库:

  • IP地址:192.168.0.101
  • 数据库名:test
  • 用户名:root
  • 密码:123456

从库:

  • IP地址:192.168.0.102
  • 数据库名:test
  • 用户名:root
  • 密码:123456

主库配置

  1. 修改主库my.cnf配置文件

在主库的my.cnf配置文件中添加以下配置信息:

server-id=1
log-bin=mysql-bin
binlog-format=ROW
gtid-mode=on
enforce-gtid-consistency=true
  1. 创建一个名为replica的从库用户

可以使用以下命令在主库中创建一个名为replica的从库用户:

CREATE USER 'replica'@'192.168.0.102' IDENTIFIED BY '123456';
GRANT REPLICATION SLAVE ON *.* TO 'replica'@'192.168.0.102';
  1. 查看主库状态

在主库上执行以下命令查看主库状态:

SHOW MASTER STATUS;

记录下File和Position的值,稍后在从库配置中需要使用。

从库配置

  1. 修改从库my.cnf配置文件

在从库的my.cnf配置文件中添加以下配置信息:

server-id=2
gtid-mode=on
enforce-gtid-consistency=true
  1. 启动从库

在从库上启动MySQL实例:

service mysql start 
  1. 将主库数据复制到从库

在从库上执行以下命令将主库数据复制到从库:

CHANGE MASTER TO MASTER_HOST='192.168.0.101',MASTER_USER='replica',MASTER_PASSWORD='123456',MASTER_AUTO_POSITION=1;
START SLAVE;
  1. 查看从库状态

在从库上执行以下命令查看从库状态:

SHOW SLAVE STATUS\G 

可以查看到GTID相关的信息已经被同步。

示例1:在主库修改数据并观察从库同步情况

在主库中修改一条记录:

UPDATE user SET name='Lucy' WHERE id=1;

重新查看主库状态,可以看到File和Position已经发生了变化。在从库上查看复制情况:

SHOW SLAVE STATUS\G 

可以看到GTID相关的信息已经被同步,表数据也已经被同步到从库。

示例2:在从库添加数据并观察主库同步情况

在从库中添加一条记录:

INSERT INTO user (name, age) VALUES ('Tom', 20);

在主库上查询数据:

SELECT * FROM user;

可以看到数据已经被同步到主库。

结束

本文详细讲解了基于GTID的MySQL主从复制实战过程,包括主库和从库的配置,以及示例数据的同步情况演示。希望对MySQL主从复制有兴趣的读者有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解MySQL主从复制实战 – 基于GTID的复制 - Python技术站

(0)
上一篇 2023年5月18日
下一篇 2023年5月18日

相关文章

  • MySQL笔记之Checkpoint机制

    CheckPoint是MySQL的WAL和Redolog的一个优化技术。   一、Checkpoint机制 CheckPoint做了什么事情?将缓存池中的脏页刷回磁盘。 checkpoint定期将db buffer的内容刷新到data file,当遇到内存不足、db buffer已满等情况时,需要将db buffer中的内容/部分内容(特别是脏数据)转储到d…

    2023年4月10日
    00
  • MySQL使用索引优化性能

    下面是关于“MySQL使用索引优化性能”的完整攻略。 什么是索引 MySQL索引是一种数据结构,用于提高数据库表中数据的读取效率。它类似于书索引中的目录,能够快速定位并获取相应的数据。 索引的优缺点 索引的优点: 提高查询性能:可以加快数据的检索速度。 加速排序:对于排序产生很大的帮助。 加速数据的过滤:在执行SELECT查询时,可以使用索引加速条件匹配。 …

    MySQL 2023年5月19日
    00
  • MYSQL 性能分析器 EXPLAIN 用法实例分析

    下面我将详细讲解“MYSQL 性能分析器 EXPLAIN 用法实例分析”的完整攻略,包括EXPLAIN的概念、语法和常用参数;同时提供两个示例说明。具体内容如下: 概念与语法 EXPLAIN是MYSQL中用来分析查询执行的工具,可以通过分析查询语句的执行计划,查看优化器在查询优化过程中的各种行为。EXPLAIN可以告诉我们:查询语句需要扫描多少行数据;使用了…

    MySQL 2023年5月19日
    00
  • mysql锁及锁出现总结

    转载请注明出处: 1.按锁粒度分类: 行锁:锁某行数据,锁粒度最小,并发度高;; 行锁是指加锁的时候锁住的是表的某一行或多行记录,多个事务访问同一张表时,只有被锁住的记录不能访问,其他的记录可正常访问; 行锁是对所有行级别锁的一个统称,比如下面说的记录锁、间隙锁、临键锁都是属于行锁 表锁:锁整张表,锁粒度最大,并发度低; 上锁的时候锁住的是整个表,当下一个事…

    MySQL 2023年4月13日
    00
  • MySQL常用分库分表方案汇总

    MySQL常用分库分表方案汇总 什么是分库分表 随着数据量的不断增长,单数据库可能不能满足我们的需求。分库分表即将数据划分到多台机器上存储,其中分库是将数据分布到不同的数据库实例中,分表是将数据分布到相同的数据库实例中的不同表中。 常用分库分表方案 垂直分库:按照业务模块或数据类型进行拆分,将不同类型的数据分布到不同的数据库上 水平分库:将同一张表中的数据按…

    MySQL 2023年5月19日
    00
  • PHP之PDO_MYSQL扩展安装步骤

    转载地址:http://www.cnblogs.com/qq78292959/p/4084868.html 看到CakePHP文档要求安装pdo_mysql扩展,于是就尝试安装了一下。 这里我的系统是CentOS 6.0。如果你的系统是其他版本的Linux/Unix,可以参考。如果你的系统是Windows的,抱歉,以下内容不适合你,请移步。 首先是下载pdo…

    MySQL 2023年4月13日
    00
  • MySQL 实例无法启动的问题分析及解决

    那我就为您详细讲解MySQL实例无法启动的问题分析及解决的攻略。 问题背景 MySQL是一个广泛使用的关系型数据库管理系统,但有时我们会遇到MySQL实例无法启动的问题。这里将讲解MySQL实例无法启动的原因,并提供相应的解决方案,以帮助大家尽快解决该问题。 问题分析 当MySQL实例无法启动时,我们需要根据以下几方面来进行问题分析: 1. 检查MySQL配…

    MySQL 2023年5月18日
    00
  • mysql练习题

    一、表关系 请创建如下表,并创建相关约束   二、操作表 1、自行创建测试数据 2、查询“生物”课程比“物理”课程成绩高的所有学生的学号; 3、查询平均成绩大于60分的同学的学号和平均成绩;  4、查询所有同学的学号、姓名、选课数、总成绩; 5、查询姓“李”的老师的个数; 6、查询没学过“叶平”老师课的同学的学号、姓名; 7、查询学过“001”并且也学过编号…

    MySQL 2023年4月13日
    00
合作推广
合作推广
分享本页
返回顶部