MySQL(基于GTID方式)实现主从复制和单主复制详细教程

 更新时间:2024年07月25日 09:24:47   作者:神秘泣男子  
在分布式数据库系统中,主从复制是实现高可用性和数据冗余的重要手段,基于GTID的复制模式可以提供更强的复制一致性和简化故障转移过程,本文将详细介绍如何配置单主复制的GTID模式,以便在MySQL数据库中实现稳定可靠的数据复制,需要的朋友可以参考下

前言

在分布式数据库系统中,主从复制是实现高可用性和数据冗余的重要手段。基于GTID(Global Transaction Identifier)的复制模式可以提供更强的复制一致性和简化故障转移过程。本文将详细介绍如何配置单主复制的GTID模式,以便在MySQL数据库中实现稳定可靠的数据复制。

1. 单主复制

1.1 主服务器配置

首先,我们需要配置主服务器的MySQL,使其支持GTID模式。

修改MySQL配置文件

使用以下命令编辑MySQL配置文件:

vim /etc/my.cnf

在配置文件中添加以下内容:

server-id = 100
log_bin = mysql-bin
gtid_mode = ON
enforce_gtid_consistency = true

这些配置选项的作用如下:

  • server-id: 唯一标识MySQL实例的ID。
  • log_bin: 启用二进制日志记录。
  • gtid_mode: 开启GTID模式。
  • enforce_gtid_consistency: 强制GTID一致性,确保每个事务都有一个唯一的GTID。

重启MySQL服务

应用配置更改后,需要重启MySQL服务:

systemctl restart mysqld

1.2 创建具有复制权限的用户

接下来,在主服务器上创建一个专门用于复制的用户,并授予其相应的权限:

grant replication slave on *.* to 'repluser'@'192.168.192.%' identified by 'Abc-1234';
flush privileges;
show master status\G;
  • grant replication slave: 授予复制权限。
  • flush privileges: 刷新权限,使其立即生效。
  • show master status: 查看主服务器的当前状态。

1.3 从服务器配置

在从服务器上进行类似的配置,使其能够与主服务器同步。

修改MySQL配置文件

使用以下命令编辑从服务器的MySQL配置文件:

vim /etc/my.cnf

在配置文件中添加以下内容:

server-id = 110
gtid_mode = ON
enforce_gtid_consistency = true

这些配置与主服务器类似,只是server-id需要不同于主服务器。

重启MySQL服务

应用配置更改后,重启从服务器的MySQL服务:

systemctl restart mysqld

1.4 配置从服务器的复制

在从服务器上执行以下命令,配置与主服务器的复制关系:

mysql -uroot -pABCabc-123
change master to
master_host="192.168.180.50",
master_user="repluser",
master_password="ABCabc-123",
master_auto_position=1;

这些命令的作用如下:

  • master_host: 主服务器的IP地址。
  • master_user: 用于复制的用户名。
  • master_password: 用户的密码。
  • master_auto_position: 自动位置调整,确保使用GTID模式。

1.5 启动从服务

配置完成后,启动从服务器的复制服务:

start slave;

1.6 查看从服务器状态

使用以下命令查看从服务器的状态,以确保复制正常运行:

show slave status\G;

测试主从复制

最后,进行测试以验证主从复制是否正常工作。

在主服务器上测试

mysql> create database smqnz;          // 创建数据库
Query OK, 1 row affected (0.00 sec)
 
mysql> use smqnz;                      // 进入smqnz数据库
Database changed
 
mysql> create table test(age int);     // 创建一个表
Query OK, 0 rows affected (0.01 sec)
 
mysql> insert into test values(1);     // 插入数据
Query OK, 1 row affected (0.04 sec)
 
mysql> select * from test;             // 查询数据
+------+
| age  |
+------+
|    1 |
+------+

在从服务器上验证

mysql> select * from smqnz.test;
+------+
| age  |
+------+
|    1 |
+------+
1 row in set (0.00 sec)

总结

本文介绍了如何在MySQL中配置单主复制的GTID模式,包括主服务器和从服务器的配置步骤、创建复制用户及测试主从复制的过程,以实现高可用性和数据冗余。

到此这篇关于MySQL(基于GTID方式)实现主从复制和单主复制详细教程的文章就介绍到这了,更多相关MySQL GTID单主复制内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • MySQL数据过滤与计算字段实战指南

    MySQL数据过滤与计算字段实战指南

    本文介绍了MySQL数据过滤与计算字段的实战技术,包括多条件组合、通配符过滤、正则表达式搜索和计算字段的使用,感兴趣的朋友跟随小编一起看看吧
    2025-11-11
  • 详解MySQL数据库的安装与密码配置

    详解MySQL数据库的安装与密码配置

    本文主要对MySQL数据库的安装与密码配置进行详细介绍,具有一定的参考价值。下面就跟小编一起来看下吧
    2016-12-12
  • Linux下JDK安装教程

    Linux下JDK安装教程

    这篇文章主要介绍了Linux下JDK安装教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-07-07
  • 分享3个MySQL查询容易踩的坑

    分享3个MySQL查询容易踩的坑

    无论你是技术大佬,还是刚入行的小白,时不时都会踩到Mysql数据库的坑这篇文章主要给大家介绍了关于3个MySQL查询容易踩的坑,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-11-11
  • 从入门到实践详解SQL四大核心语言详解:DQL、DML、DDL、DCL

    从入门到实践详解SQL四大核心语言详解:DQL、DML、DDL、DCL

    无论你是SQL新手还是资深开发者,这篇文章将带你逐一拆解DQL、DML、DDL和DCL,结合实战案例,帮助你避开常见坑,快跟随小编一起学习一下吧
    2025-10-10
  • MySQL多表查询实例详解【链接查询、子查询等】

    MySQL多表查询实例详解【链接查询、子查询等】

    这篇文章主要介绍了MySQL多表查询,结合实例形式详细分析了mysql多表查询中的链接查询、子查询等相关操作技巧与使用注意事项,需要的朋友可以参考下
    2019-12-12
  • Mysql之行与列的多种转换实现方式

    Mysql之行与列的多种转换实现方式

    这篇文章主要介绍了Mysql之行与列的多种转换实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2026-03-03
  • 解决mysql报错You must reset your password using ALTER USER statement before executing this statement问题

    解决mysql报错You must reset your password&nb

    文章介绍了在Linux系统中解决MySQL 5.7及以上版本root用户密码过期无法登录的问题方法,以及如何处理系统权限表mysql.user结构错误的问题
    2024-11-11
  • MySQL基于索引的压力测试的实现

    MySQL基于索引的压力测试的实现

    本文主要介绍了MySQL基于索引的压力测试的实现,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-11-11
  • Mysql查看执行计划、explain关键字超详细讲解

    Mysql查看执行计划、explain关键字超详细讲解

    EXPLAIN 是 MySQL 提供的用于分析 SQL 查询执行计划的工具,通过该命令可以获取查询优化器选择的执行路径,下面通过本文给大家介绍Mysql查看执行计划、explain关键字超详细讲解,感兴趣的朋友跟随小编一起看看吧
    2025-06-06

最新评论