返回顶部
首页 > 资讯 > 数据库 >【MySQL】主从复制(两台服务器)
  • 358
分享到

【MySQL】主从复制(两台服务器)

mysql数据库sql 2023-10-02 22:10:59 358人浏览 八月长安
摘要

概述 主从复制是将主数据库的DDL(数据定义语句)和 DML(数据操作语句)操作通过二进制日志(binlog)传到从库服务器中,然后在从库上对这些日志重新执行(也叫重做),从而使得从库和主库的数据保持同步。主库通常称为Master,从库通常

概述

主从复制是将主数据库DDL(数据定义语句)和 DML(数据操作语句)操作通过二进制日志binlog)传到从库服务器中,然后在从库上对这些日志重新执行(也叫重做),从而使得从库和主库的数据保持同步。主库通常称为Master,从库通常称为Slave。

优点

主库发生问题,可以快速切换到从库提供服务。

实现读写分离,降低主库的访问压力。

可以在从库中执行备份,以避免备份期间影响主库服务。

原理

        当从服务器连接到主服务器时,从服务器会启动一个I/O线程,该线程会连接到主服务器,并请求复制主服务器上的二进制日志。I/O线程会将二进制日志的内容读取到本地的中继日志(relay log)中,并保存在本地磁盘上。

        I/O线程的主要任务是从主服务器上读取二进制日志,并将其写入从服务器的中继日志。I/O线程的工作方式如下:

从服务器向主服务器发送一个请求,请求复制主服务器上的二进制日志。

主服务器接收到请求后,将二进制日志的内容发送给从服务器。

I/O线程在从服务器上读取二进制日志,并将其写入中继日志。

从服务器周期性地向主服务器发送心跳包,以确保主从服务器之间的连接正常。

如果主服务器发生故障,从服务器可以自动切换到另一个主服务器(即主服务器的备份服务器)。

        当I/O线程将二进制日志写入中继日志后,SQL线程会读取中继日志中的内容,并执行其中的sql语句。SQL线程的主要任务是将中继日志中的SQL语句执行到从服务器上的数据库中。SQL线程的工作方式如下:

SQL线程从中继日志中读取SQL语句。

SQL线程执行SQL语句,并将结果写入从服务器上的数据库中。

SQL线程周期性地向主服务器发送心跳包,以确保主从服务器之间的连接正常。

如果主服务器发生故障,从服务器可以自动切换到另一个主服务器(即主服务器的备份服务器)。

        通过I/O线程和SQL线程的协作,从服务器可以将主服务器上的数据复制到本地,并保持与主服务器上的数据一致。

主库配置

开放端口/关闭防火墙

首先在服务器上均需要开放Mysql的端口,为了让别的服务器进行访问。这里有两种方法:

第一种:开放指定端口,并且重新加载防火墙

firewall-cmd --zone=public --add-port=3306/tcp -permanentfirewall-cmd -reload

第二种:关闭防火墙,并且禁止开机自启

systemctl stop firewalldsystemctl disable firewalld

修改配置文件

vim /etc/my.cnf

# 服务id 用来保证整个集群环境的唯一性 取值范围[1,2^32 - 1] 默认为1server-id=1# 是否可读:0可读可写 1只读read-only=0# 二进制文件的命名log-bin=master-bin# 二进制索引文件的命名log-bin-index=master-bin.index# 忽略的数据 表示不需要同步的数据库# binlog-ignore-db=mysql# 指定同步的数据库# binlog-do-db=test

重启MySQL

systemctl restart mysqld

创建账号

必须先登录MySQL,在里面执行代码

# 创建ovo用户 设置其密码 并且使该用户可在任意主机连接该MySQL服务CREATE USER 'ovo'@'%' IDENTIFIED WITH mysql_navive_passWord BY 'OvO@123456';# 为该用户分配主从复制权限GRANT REPLICATioN SLAVE ON *.* TO 'ovo'@'%';

查询binlog坐标

这也是在MySQL服务中的代码

SHOW MASTER STATUS;

表中会有五个字段

File:从哪个日志文件开始推送日志文件

Position:从哪个位置开始推送日志

Binlog_Do_DB:指定需要同步的数据库

Binlog_Ignore_DB:指定不需要同步的数据库

Executed_Gtid_set

从库配置

修改配置文件

vim /etc/my.cnf

server-id=2read-only=1relay-bin=slave-relay-binrelay-bin-index=slave-bin.index

重启MySQL

systemctl restart mysqld

设置主库

登录MySQL,若MySQL版本大于等于8.0.23则执行

CHANGE REPLICATION SOURCE TO SOURCE_HOST='主库IP',SOURCE_USER='主库用户名',SOURCE_PASSWORD="主库密码",SOURCE_LOG_FILE='binlog文件名',SOURCE_LOG_POS='binlog文件位置'

MySQL版本小于8.0.23执行

CHANGE MASTER TO MASTER_HOST='主库IP',MASTER_USER='主库用户名',MASTER_PASSWORD="主库密码",MASTER_LOG_FILE='binlog文件名',MASTER_LOG_POS='binlog文件位置'

注意:关于binlog的文件名与文件位置在主库配置的最后一步中可以查看:

SHOW MASTER STATUS;

执行同步

MySQL版本8.0.22之前

start slave;

MySQL版本8.0.22之后

start replica;

查看主从同步状态

 MySQL版本8.0.22之前

show slave status;

MySQL版本8.0.22之后

show replica status;

来源地址:https://blog.csdn.net/m0_65563175/article/details/130914553

您可能感兴趣的文档:

--结束END--

本文标题: 【MySQL】主从复制(两台服务器)

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

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

猜你喜欢
  • 【MySQL】主从复制(两台服务器)
    概述 主从复制是将主数据库的DDL(数据定义语句)和 DML(数据操作语句)操作通过二进制日志(binlog)传到从库服务器中,然后在从库上对这些日志重新执行(也叫重做),从而使得从库和主库的数据保持同步。主库通常称为Master,从库通常...
    99+
    2023-10-02
    mysql 数据库 sql
  • 两个版本的Mysql 主从复制
    MySQL  AB复制 Mysql AB 复制又称主从复制,实现的是数据同步,要求最好所有的mysql版本相同,如果版本不一致,从服务器版本要高于主服务器,而且版本不一致不能做双向复制。...
    99+
    2024-04-02
  • mysql主从复制
    一.主从复制简介 2015年5月28日11时,12小时后恢复,损失:平均每小时106.48W$ 1)高可用 2)辅助备份 3)分担负载 复制是 MySQL 的一项功能,允许服务器将更改从一个实例复制到另一个实例。 1)主服务器将所有数据和...
    99+
    2019-04-07
    mysql主从复制
  • 【MySQL】主从复制
    纸上得来终觉浅,绝知此事要躬行。 概述 复制是指将主数据库的DDL 和 DML 操作通过二进制日志传到从库服务器中,然后在从库上对这些日志重新执行(也叫重做),从而使得从库和主库的数据保持同步。 MySQL支持一台主库同时向多...
    99+
    2015-07-01
    【MySQL】主从复制
  • mysql主从复制
    两台mysql版本号为5.7以上   主库配置文件设置(注意设置在[mysqld]项中) 主库的ip地址为:192.168.1.1 server-id=1 #唯一id,主库设置1 log-bin=mysql-bin #日志记录...
    99+
    2018-10-04
    mysql主从复制 数据库入门 数据库基础教程 数据库 mysql
  • mysql 主从复制
    1, 准备二台机器或者服务器 ,保持mysq 版本一样或者版本相差不大; 主机:114.215.198.39 从机:116.62.234.228 2    新建一个数据库 我的数据库是hlqzxm; 进入主机的mysql 配置文件中修改配置...
    99+
    2021-10-15
    mysql 主从复制 数据库入门 数据库基础教程 数据库 mysql
  • mysql主从复制--一主一从
    1、启动实例3306和33072、检查主库配置[root@client 3306]# egrep  "log-bin|server|sock"  my.cnfsocket &n...
    99+
    2024-04-02
  • Mysql/Mariadb主从复制
    概念 什么是·Mysql/Mariadb主从复制?     Mysql/Mariadb主从复制:当Master(主)数据库发生变化的时候,变化实时会同步到slave(从)数据库中; 类似于:Samba共享文件(C/S)、NFS网络文件...
    99+
    2021-03-22
    Mysql/Mariadb主从复制
  • MySQL-5.5.33主从复制
    搭建主从同步需要在两个电脑上分别安装 MySQL ,我这里安装的是 CentOS6.7 64位,MySQL-5.5.33。MySQL 是二进制包安装的:http://aby028.blog.51cto.co...
    99+
    2024-04-02
  • mysql+ssl主从复制
    主从复制原理 作为主服务器Master, 会把自己的每一次改动都记录到 二进制日志 Binarylog 中。 (从服务器I/O thread会负责来读取master binary log, 然后写入自身r...
    99+
    2024-04-02
  • MySQL主从复制(二)
    主从架构中:从node是不接受w操作的,否则可能会导致数据不一致。一、复制架构中应该注意的问题: 1.限制slave为只读模式 可以设置在启动参数中。 > show global variable...
    99+
    2024-04-02
  • Mysql 主从复制GTID
    --------------------------------------------安装准备配置/etc/my.cnf主master grant 分配复制帐号从slave ...
    99+
    2024-04-02
  • Mysql的主从复制
    Mysql的主从复制   Mysql的主从复制,我们一般用来保证数据间的同步关系,比如有分公司,我们就需要把数据同步给千里之外的分公司,这样就很方便快捷。这个实验我们还实现了ssl安全连...
    99+
    2024-04-02
  • Mysql之主从复制
    文章目录 一.Mysql主从复制介绍 1.Mysql主从复制原理2.Mysql的复制类型3.Mysql主从复制的工作过程 二.搭建 Mysql主从复制1.首先关闭防火墙2.Mysql主从服...
    99+
    2023-09-04
    mysql java 数据库
  • centos8 mysql 主从复制
    ♥️作者:小刘在C站 ♥️个人主页:小刘主页 ♥️每天分享云计算网络运维课堂笔记,努力不一定有收获,但一定会有收获加油!一起努力,共赴美好人生! ♥️夕阳下,是最美的绽放,树高千尺,落叶归根人生不易,人间真情 目录 Linu...
    99+
    2023-08-31
    数据库 mysql 服务器
  • MySQL主从复制详解
    ①主服务器将所有数据和结构更改记录到二进制日志中。 ②从属服务器从主服务器请求该二进制日志并在本地应用其内容。 ③IO:请求主库,获取上一次执行过的新的事件,并存放到relaylog ④SQL:从relaylog中将sql语句翻译给从...
    99+
    2017-03-30
    MySQL主从复制详解
  • MySQL 主从复制问题
    导致SQL线程故障原因分析及解决方案 原因 1. 版本差异,参数设定不同,比如:数据类型的差异,SQL_MODE影响 2. 要创建的数据库对象已经存在 3. 要删除或修改的对象不存在 4. DML语句不符合表定义及约束时. 原因是由...
    99+
    2021-08-11
    MySQL 主从复制问题
  • MySQL进阶——主从复制
      1.主从复制的基本原理 slave会从master读取binlog来进行数据同步。主要有以下三个步骤: ①master将改变记录到二进制日志(binary log),这些记录过程叫做二进制日志事件(binary log e...
    99+
    2019-05-12
    MySQL进阶——主从复制
  • Mysql主从复制搭建
    1.mysql主库会把所有的写操作记录在binlog日志中,并且生成log dump线程,将binlog日志传给从库的I/O线程,从库生成两个线程,一个是I/O线程,另外一个是SQL线程。 主将更改操作记录到binlog里从将主的binlo...
    99+
    2020-09-28
    Mysql主从复制搭建
  • MySQL设置主从复制
    主从复制: 单向,双向,环形,级联,一主多从 双机复制的5种情形1、异步主从(默认常规)2、双写(前段程序对两个数据库同时写,必须两边都落实,程序才返回成功)3、利用外挂软件实现实时主库Binlog日志抓...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作