MySQL复制之GTID复制的具体使用

当我们在MySQL数据库中使用GTID复制时,可以使用以下步骤:

1. 确认主服务器上gtid_mode已经配置为ON

在主服务器上执行以下语句可以确认gtid_mode已经被开启:

SHOW VARIABLES LIKE 'gtid_mode';

如果gtid_mode值为OFF,则需要更新MySQL配置文件,将以下行添加到MySQL配置文件中:

[mysqld]
gtid_mode = ON

重启MySQL以使更改生效。

2. 创建具有复制权限的用户

在主服务器上创建具有复制权限的用户。

CREATE USER replication_user IDENTIFIED BY 'my_password';
GRANT REPLICATION SLAVE ON *.* TO replication_user;

其中my_password是您选择的复制用户的密码。

3. 在主服务器上记录当前复制位置

在主服务器上使用以下语句记录当前复制位置:

SELECT @@GLOBAL.gtid_executed;

记录查询结果的值,它将用于作为从服务器上的同步起点。

4. 配置从服务器

在从服务器上运行以下语句,告诉从服务器连接主服务器:

CHANGE MASTER TO MASTER_HOST='master_host_name',
MASTER_USER='replication_user',
MASTER_PASSWORD='my_password',
MASTER_CONNECT_RETRY=10,
MASTER_AUTO_POSITION=1;

其中,master_host_name是主服务器的IP地址或主机名。确保连接主服务器的端口被打开,以便从服务器可以访问主服务器。

可以使用以下命令来启动从服务器的GTID复制:

START SLAVE;

示例1

以下示例是在主服务器上创建一个新的数据库和表,并向表添加一些数据:

CREATE DATABASE testDB;
USE testDB;
CREATE TABLE myTable (id INT PRIMARY KEY, name VARCHAR(25));
INSERT INTO myTable VALUES (1, 'John'), (2, 'Doe');

现在我们来检查当前复制位置:

SELECT @@GLOBAL.gtid_executed;

得到的结果为:

8587b2f6-c281-11eb-9995-4ccc6a430f90:1-3

现在配置从服务器,并启动GTID复制:

CHANGE MASTER TO MASTER_HOST='master_server_1',
MASTER_USER='replication_user',
MASTER_PASSWORD='my_password',
MASTER_CONNECT_RETRY=10,
MASTER_AUTO_POSITION=1;
START SLAVE;

现在,我们使用以下语句在主服务器上更新表的数据:

USE testDB;
UPDATE myTable SET name='Doe Jr.' WHERE id=2;

检查从服务器是否复制了这个更新:

USE testDB;
SELECT * FROM myTable;

从服务器应该在myTable表中执行了更新。

示例2

以下示例演示了使用GTID复制从一台主服务器复制到第二个主服务器的过程:

在第一个主服务器上创建数据库和表并添加数据:

CREATE DATABASE testDB;
USE testDB;
CREATE TABLE myTable (id INT PRIMARY KEY, name VARCHAR(25));
INSERT INTO myTable VALUES (1, 'John'), (2, 'Doe');

现在在从第一个主服务器复制到第二个主服务器:

CHANGE MASTER TO MASTER_HOST='master_server_1',
 MASTER_USER='replication_user',
 MASTER_PASSWORD='my_password',
 MASTER_PORT=3306,
 MASTER_AUTO_POSITION=1;

START SLAVE;

现在在第一个主服务器上进行一些更新:

USE testDB;
UPDATE myTable SET name='Doe Jr.' WHERE id=2;

我们现在可以使用以下语句检查第二个主服务器是否成功复制:

USE testDB;
SELECT * FROM myTable;

第二个主服务器上的myTable表应该反映出更新。

这就是使用GTID复制进行MySQL复制的完整攻略。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:MySQL复制之GTID复制的具体使用 - Python技术站

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

相关文章

  • MySQL版本低了不支持两个时间戳类型的值解决方法

    MySQL版本低了不支持两个时间戳类型的值解决方法 问题描述:在MySQL版本较低的情况下,如果要存储两个时间戳类型的值,可能会遇到错误提示类似于“ERROR 1292 (22007): Incorrect datetime value: ‘2021-10-30 12:00:00’ for column ‘datetime_column’”,提示无法正确处理…

    database 2023年5月22日
    00
  • 对MySQL几种联合查询的通俗解释

    这是关于MySQL联合查询的通俗解释攻略: 什么是联合查询 联合查询是一种将多个SELECT语句的结果组合为单个结果集的查询方法。它主要用于查询多个表中的数据,并且不需要将这些查询的结果放入同一个表中。联合查询的结果集包含所有查询结果的行,其中每个查询语句的列必须具有相同的数据类型。 联合查询的类型 MySQL支持以下几种联合查询: UNION UNION联…

    database 2023年5月21日
    00
  • DBMS 关系代数

    DBMS关系代数 关系代数是用于逻辑上操作关系的一组基本操作符。在数据库中,关系代数被广泛应用于查询、数据库设计和优化等方面。 关系代数包括以下基本操作符: 选择(Selection) 选择是从给定的关系中选取一些元组,使这些元组符合指定的条件。 选择的示例: 假设有一张学生成绩表,其中包含学生的姓名(name),性别(gender)和语文课程的成绩(sco…

    database 2023年3月27日
    00
  • Redis相关操作

    Redis相关操作 Redis相关文档 一. Redis简单使用 ​ redis作为一款目前这个星球上性能最高的非关系型数据库之一. 拥有每秒近十万次的读写能力. 其实力只能用恐怖来形容. 1.安装redis redis是我见过这个星球上最好安装的软件了. 比起前面的那一坨. 它简直了… 直接把压缩包解压. 然后配置一下环境变量就可以了. 接下来, 在环…

    2023年4月16日
    00
  • Mac下redis的安装 以及配置支持PHP使用redis

    1 下载最新redis  https://redis.io/download 也可以查看原文了解更多:http://www.upwqy.com/details/1.html 2 安装redis.  这部分在上面下载链接中 官网提供的有相关操作 如下: $ wget http://download.redis.io/releases/redis-4.0.2.t…

    Redis 2023年4月12日
    00
  • Mysql中key 、primary key 、unique key 与index区别

    key 是数据库的物理结构,它包含两层意义和作用, 一是约束(偏重于约束和规范数据库的结构完整性), 二是索引(辅助查询用的)。   https://www.cnblogs.com/zjfjava/p/6922494.html   CREATE TABLE `act_ru_execution` ( `ID_` varchar(64) COLLATE utf8…

    MySQL 2023年4月16日
    00
  • redis 学习笔记之(二)主备高可用(热备)

    一、背景       项目中大量的服务会依赖redis,为保证系统正常,redis 对外提供的服务必须正常。因此 redis 需要高可用。目前 redis 提供的高可用方案如下: (1) redis 哨兵模式 实现 redis 主备 (2) keepalived + redis 实现主备      对于性能,使用分片模式,即 redis 搭建集群解决 性能问…

    Redis 2023年4月11日
    00
  • Nginx中防止SQL注入攻击的相关配置介绍

    Nginx虽然是一款Web服务器,但它也能够作为反向代理和负载均衡器,因此有必要对其进行SQL注入攻击防范措施的配置。 防止SQL注入攻击的配置介绍 1. 开启Nginx的ModSecurity模块 ModSecurity是一个Web应用程序防火墙(WAF)模块,能够检测和防御SQL注入攻击等Web攻击。在Nginx中,要使用ModSecurity模块,需要…

    database 2023年5月22日
    00
合作推广
合作推广
分享本页
返回顶部