iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >MySQL主从复制搭建流程分步实现
  • 887
分享到

MySQL主从复制搭建流程分步实现

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

目录主从复制主从搭建配置主从复制的命令测试总结主从复制 主从也叫做(AB复制),允许一个服务器从一个服务器数据库(主服务器)的数据复制到一个或者多个Mysql数据库服务器。 主从复制的优点有很多,包括横向扩展解决方案,数

主从复制

主从也叫做(AB复制),允许一个服务器从一个服务器数据库(主服务器)的数据复制到一个或者多个Mysql数据库服务器。

主从复制的优点有很多,包括横向扩展解决方案,数据安全性,数据分析,远程数据分发。

主从搭建

作为主服务器的服务器开启二进制日志(binlog);

下面我们来搭建主从复制的,采用3个节点来尝试;

节点角色主机名Ip地址server-id
mastermaster192.168.246.1321
slavesalve192.168.246.1342
slave2salve2192.168.246.1363

首先需要在etc/hosts中添加IP地址和主机名之间的映射关系,启动节点的数据库,然后可以查看他们的server-id

show variables like 'server_id';
# 创建主从复制的账号
create user 'rep1'@'192.168.246.%' identified by '123456';
grant replication slave on * .* to 'rep1'@'192.168.246.%';
flush privileges;

创建管理账号

create user 'myadmin'@'192.168.246.%' identified by '123456';
grant all privileges on *.* to 'myadmin'@'192.168.246.%';
flush privileges;

在所有的节点上都启用GTID

set @@GLOBAL.ENFORCE_GTID_CONSISTENCY = WARN;
set global ENFORCE_GTID_CONSISTENCY = ON;
set global GTID_MODE = OFF_PERMISSIVE;
set global GTID_MODE = ON_PERMISSIVE;
set global GTID_MODE = ON;

GTID全称为Global Transaction Identifier, 即全局事务标识符。用于在binlog中标识唯一的事务,当MySQL Server在写binlog的时候,会写一个特殊的binlog Event,指定下一个事务的GTID。

配置主从复制的命令

注意,需要在所有的从节点都配置

change master to master_host='192.168.246.132',master_user='rep1',master_passWord='123456',master_auto_position=1;

在所有的从节点中开启主从复制

start salve;

然后在从节点上查看主从复制的状态,出现下面的就算成功了。

show slave status \G;

show slave status \G;
*************************** 1. row ***************************
               Slave_IO_State: Waiting for source to send event
                  Master_Host: 192.168.246.132
                  Master_User: rep1
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: mysql-binlog.000008
          Read_Master_Log_Pos: 157
               Relay_Log_File: salve-relay-bin.000002
                Relay_Log_Pos: 379
        Relay_Master_Log_File: mysql-binlog.000008
             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: 157
              Relay_Log_Space: 589
              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: 1
                  Master_UUID: 71341b64-4450-11ed-90f4-000c29f2a7f4
             Master_Info_File: mysql.slave_master_info
                    SQL_Delay: 0
          SQL_Remaining_Delay: NULL
      Slave_SQL_Running_State: Replica 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: 
            Executed_Gtid_Set: 
                Auto_Position: 1
         Replicate_Rewrite_DB: 
                 Channel_Name: 
           Master_TLS_Version: 
       Master_public_key_path: 
        Get_master_public_key: 0
            Network_Namespace: 
1 row in set, 1 warning (0.01 sec)

ERROR: 
No query specified

测试

我们现在主节点上创建一张表并且插入一些数据,来查看从节点是否有同步数据;

create database demo2;
use demo2;
create table test1 (tid int);
insert into test1 values(123);

这个时候我们去从节点上进行查询,这个时候我们可以看到数据已经同步过来了。

MySQL主从复制搭建流程分步实现

我们还可以到我们设置的data目录下面查看binlog,

MySQL主从复制搭建流程分步实现

再到数据库里面查看,就可以查看具体的binlog信息了。

mysql> show binlog events in 'mysql-binlog.000008';
+---------------------+-----+----------------+-----------+-------------+-------------------------------------------------------------------+
| Log_name            | Pos | Event_type     | Server_id | End_log_pos | Info                                                              |
+---------------------+-----+----------------+-----------+-------------+-------------------------------------------------------------------+
| mysql-binlog.000008 |   4 | FORMat_desc    |         2 |         126 | Server ver: 8.0.30, Binlog ver: 4                                 |
| mysql-binlog.000008 | 126 | Previous_gtids |         2 |         157 |                                                                   |
| mysql-binlog.000008 | 157 | Gtid           |         1 |         241 | SET @@SESSION.GTID_NEXT= '71341b64-4450-11ed-90f4-000c29f2a7f4:1' |
| mysql-binlog.000008 | 241 | Query          |         1 |         352 | create database demo2                                |
| mysql-binlog.000008 | 352 | Gtid           |         1 |         436 | SET @@SESSION.GTID_NEXT= '71341b64-4450-11ed-90f4-000c29f2a7f4:2' |
| mysql-binlog.000008 | 436 | Query          |         1 |         554 | use `demo2`; create table test1 (tid int)            |
| mysql-binlog.000008 | 554 | Gtid           |         1 |         640 | SET @@SESSION.GTID_NEXT= '71341b64-4450-11ed-90f4-000c29f2a7f4:3' |
| mysql-binlog.000008 | 640 | Query          |         1 |         711 | BEGIN                                                             |
| mysql-binlog.000008 | 711 | Table_map      |         1 |         763 | table_id: 94 (demo2.test1)                                        |
| mysql-binlog.000008 | 763 | Write_rows     |         1 |         803 | table_id: 94 flags: STMT_END_F                                    |
| mysql-binlog.000008 | 803 | Xid            |         1 |         834 | COMMIT                                               |
+---------------------+-----+----------------+-----------+-------------+-------------------------------------------------------------------+
11 rows in set (0.00 sec)

总结

上述就是搭建主从复制的搭建过程,相信大家跟着教程一步步搭建起来应该也可以成功

到此这篇关于MySQL主从复制搭建流程分步实现的文章就介绍到这了,更多相关MySQL主从复制内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

您可能感兴趣的文档:

--结束END--

本文标题: MySQL主从复制搭建流程分步实现

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

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

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

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

下载Word文档
猜你喜欢
  • MySQL主从复制搭建流程分步实现
    目录主从复制主从搭建配置主从复制的命令测试总结主从复制 主从也叫做(AB复制),允许一个服务器从一个服务器数据库(主服务器)的数据复制到一个或者多个mysql数据库服务器。 主从复制的优点有很多,包括横向扩展解决方案,数...
    99+
    2024-04-02
  • Mysql主从复制搭建过程
    这篇文章主要讲解了“Mysql主从复制搭建过程”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Mysql主从复制搭建过程”吧! 一、相关概念mysql主从复...
    99+
    2024-04-02
  • 实现↝Mysql数据库主从复制搭建与同步
    实现↝Mysql数据库主从复制搭建与同步 🔻 一、mysql 同步复制有关概述⛳ 前言、何为主从复制⛳ 1.1 mysql支持的复制方式⛳ 1.2 mysql支持的复制类型1....
    99+
    2023-09-17
    数据库 mysql msyql主从复制 linux 运维 服务器 centos
  • 关于Mysql搭建主从复制功能的步骤实现
    目录1.描述2.开始远程连接3.开启bin-log日志4.重启两台mysql5.授权Ⅰ授权Ⅱ6.配置从服务器7.启动从库的复制功能8.检查从库复制功能状态1.描述 在实际的生产中,为了解决Mysql的单点故障已经提高My...
    99+
    2023-05-23
    Mysql 主从复制 搭建主从复制
  • Docker搭建Mysql主从复制
    Docker搭建Mysql主从复制 前言 相信我,看完这一篇,mysql主从复制能遇到的错误在我这里都遇到了,docker能遇到的错误在我这里也遇到了,包括centos的错误,看吧,都是成长 do...
    99+
    2023-09-24
    docker mysql 容器 Linux
  • k8s搭建mysql集群实现主从复制的方法步骤
    目录环境介绍一、部署NFS服务器二、创建PV三、编写mysql的yaml文件四、启动MySQL五、验证MySQL主从复制环境介绍 名称版本操作系统IP备注K8S集群1.20.15Centos7.9192.168.11.2...
    99+
    2023-01-05
    k8s mysql主从 k8s搭建mysql主从
  • 如何搭建mysql主从复制
    搭建mysql主从复制的方法在主从服务器开启时间同步[root@storage  ~]# ntpdate 172.18.0.1主数据库配置使用记事本打开主数据库的my.cnf配置文件,在文件中的[my...
    99+
    2024-04-02
  • mysql主从复制怎么搭建
    要搭建MySQL主从复制,需要按照以下步骤进行操作: 确保主服务器和从服务器上都已安装MySQL。 在主服务器上修改配置文件...
    99+
    2024-04-09
    mysql
  • MySQL 搭建主从同步实现操作
    目录一、MySQL 8.0 主从同步二、MySQL主从搭建2.1 Master 上的操作2.2 Slave 上的操作一、MySQL 8.0 主从同步 主从同步的流程(原理): mas...
    99+
    2024-04-02
  • mysql主从复制的实现步骤
    目录mysql主从复制mysql主从复制的方式mysql主从复制的原理mysql的主从配置的具体实现方式1、 Master配置 2、 Slave配置 mysql主从复制 本来是在...
    99+
    2024-04-02
  • 用XtraBackup搭建mysql主从复制的详细步骤
    本篇内容介绍了“用XtraBackup搭建mysql主从复制的详细步骤”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够...
    99+
    2024-04-02
  • Mysql搭建主从复制的方法
    本篇内容主要讲解“Mysql搭建主从复制的方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Mysql搭建主从复制的方法”吧!主库:192.168.1.1 从库...
    99+
    2024-04-02
  • MYSQL主从复制的搭建方式
    本篇内容主要讲解“MYSQL主从复制的搭建方式”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MYSQL主从复制的搭建方式”吧!前言:MYSQL的主从复制的原理跟...
    99+
    2024-04-02
  • MySQL 5.7 基于GTID搭建主从复制
    MySQL 5.7 基于GTID搭建主从复制    一、搭建过程 1.1 准备三个MySQL实例 mysqld --initialize-insecure --use...
    99+
    2024-04-02
  • Django搭建MySQL主从实现读写分离
    目录一、MySQL主从搭建操作步骤二、Django实现读写分离自动指定一、MySQL主从搭建 主从配置原理: 主库写日志到 BinLog 从库开个 IO 线程读取...
    99+
    2024-04-02
  • MySQL如何搭建主从同步实现操作
    小编给大家分享一下MySQL如何搭建主从同步实现操作,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、MySQL 8.0 主从同步主从同步的流程(原理):mast...
    99+
    2023-06-29
  • MYSQL主主复制的搭建过程
    本篇内容主要讲解“MYSQL主主复制的搭建过程”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MYSQL主主复制的搭建过程”吧!一、环境说明:IP主机名数据库名连...
    99+
    2024-04-02
  • MySQL中怎么实现主从复制和半同步复制
    这篇文章将为大家详细讲解有关MySQL中怎么实现主从复制和半同步复制,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。一、复制的介绍MySQL支持单向、异步复制...
    99+
    2024-04-02
  • 怎样进行MYSQL主从复制的搭建
    今天就跟大家聊聊有关怎样进行MYSQL主从复制的搭建,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。前言:MYSQL的主从复制的原理跟MYSQL的主主复制的原理其实是一样的,但是从数据...
    99+
    2023-06-06
  • MySQL主从复制之多主多从部署流程—2023.04
    文章目录 一、多主多从实现架构图二、准备工作三、MySQL多主多从搭建流程1、修改2个主节点配置文件2、修改2个从节点配置文件3、2个主节点相互复制4、2个从节点分别复制主节点5、测试记录: ...
    99+
    2023-09-23
    mysql 数据库 java 云原生
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作