iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >MySQL主从复制详细介绍
  • 281
分享到

MySQL主从复制详细介绍

mysql数据库服务器 2023-08-20 18:08:22 281人浏览 独家记忆
摘要

一、主从复制的目的 ​ Mysql内建的复制功能是构建基于mysql的大规模、高性能应用的基础,复制功能的目的是构建高性能的应用,同时也是高可用性、可扩展性、灾难恢复、备份以及数据仓库等工作的基础。比较常见的用途有以下几种: 数据分布:备份

一、主从复制的目的

Mysql内建的复制功能是构建基于mysql的大规模、高性能应用的基础,复制功能的目的是构建高性能的应用,同时也是高可用性、可扩展性、灾难恢复、备份以及数据仓库等工作的基础。比较常见的用途有以下几种:

数据分布:备份特定数据库

负载均衡:读写分离

高可用性和故障切换:从库的存在可以缩短宕机时间

Mysql升级测试:使用一个更高版本的MySQL作为备库,保证在升级全部实例前,查询能够在备库按照预期进行

二、主从复制的原理和步骤

​ 简单的说就是master将数据库的改变写入binary log二进制日志,这个日志会记录下所有修改了数据库的SQL语句(insert,update,delete,grant等),slave同步这些二进制日志,并根据这些二进制日志进行数据操作,其实就是把主服务器上的binary log复制到从服务器上执行一遍,这样从服务器上的数据就和主服务器上的数据相同了。

整体来说,主从复制有以下步骤:

主节点必须启用二进制日志,记录任何修改数据库数据的事件。

从节点开启一个线程I/O Thread把自己扮演成mysql的客户端,通过mysql协议,请求主节点的二进制日志文件中的事件

主节点启动一个线程(dump Thread),检查自己二进制日志中的事件,跟对方请求的位置对比,如果不带请求位置参数,则主节点就会从第一个日志文件中的第一个事件一个一个发送给从节点。

从节点接收到主节点发送过来的数据把它放置到中继日志(Relay log)文件中。并记录该次请求到主节点的具哪个二进制日志文件的哪个位置。

从节点启动另外一个线程(sql Thread ),把replaylog中的事件读取出来,并在本地再执行一次。

其原理图如下:

图片

三、复制中线程的作用

从节点:

I/O Thread:从Master请求二进制日志事件,并保存于中继日志中。

Sql Thread:从中继日志中读取日志事件,在本地完成更新。

主节点:

Dump Thread:为每个Slave的I/O Thread启动一个dump线程,用于向从节点发送二进制事件。
如果从节点需要作为其他节点的主节点时,是需要开启二进制日志文件的。这种情况叫做级联复制。如果只是作为从节点,则不需要创建二进制文件。

四、主从复制配置过程

主节点:

启用二进制日志。

为当前节点设置一个全局唯一的server_id。

创建有复制权限的用户账号 replication slave。

从节点:

启动中继日志。

为当前节点设置一个全局唯一的server_id。

使用有复制权限的用户账号连接至主节点,并启动复制线程。

1 测试环境

图片

2 主节点配置过程

2.1 编辑主节点配置文件

Centos中打开my.cnf文档:

图片

· 添加:log-bin = mysql-bin(开启二进制日志)

· 添加:server-id =4(设置服务器id,主节点和从节点的id需要设为不同)

· 添加:binlog-do-db=DBAs(确定需要同步的数据库)

· 添加:binlog-ignore-db=mysql(此处可以实际需求添加需要忽略的数据库)

· 添加:expire_logs_days=7(自动清理 7 天前的log文件,可根据需要修改)

图片

2.2 启动主节点mysql服务,并连接mysql

正常情况下,mysql服务启动命令为:

为了更方便的启动mysql服务,为mysql创建软连接

此时,启动命令变为:

图片

3.4 在从节点配置访问主节点的参数信息
添加 主节点主机,访问主节点的用户名及密码,主节点二进制文件信息。

命令:

此处的master_log_file和master_log_pos需要和主节点状态保持一致。

图片

3.5 查看从节点的状态信息
因为没有启动 从节点的复制线程,I/O线程和SQL 线程都为NO.

图片

使用start slave命令启动从节点的复制线程,再利用show slave status命令查看当前的从节点状态。

图片

4 功能测试

查看主节点的状态,

图片

2)在从节点查找二进制日志信息,并查看mydb数据库是否复制成功

图片

最后在从节点上查看数据是否已经同步,命令:

图片

经过验证,证明主从复制同步成功!!!

五、错误排查总结

1 Connecting错误

操作过程中有时候出现如下所述错误:

图片

排错思路如下:

二进制日志没有开启

IPTABLES 没有放开端口

对应的主机 IP地址写错了

实际操作:关闭主节点防火墙,重新开启从节点,即可连接上。

2 Slave_SQL_Running:NO

​ 操作过程中还出现了如下所示的从节点的SQL线程运行错误

图片

排错思路如下:

  1. 查看是否使用了nat的网络结构到导致网络有问题,连接不上。
  2. 有可能my.cnf有问题,配置文件
  3. 授权的问题,replication slave和file权限是必须的。

实际情况,换工位后网络IP出现问题,连接不上,重新配置网络之后问题解决。

节点,即可连接上。

2 Slave_SQL_Running:NO

​ 操作过程中还出现了如下所示的从节点的SQL线程运行错误

排错思路如下:

  1. 查看是否使用了nat的网络结构到导致网络有问题,连接不上。
  2. 有可能my.cnf有问题,配置文件
  3. 授权的问题,replication slave和file权限是必须的。

实际情况,换工位后网络IP出现问题,连接不上,重新配置网络之后问题解决。

关于MySQL主从复制,你学废了么?


真诚地邀请您加入我们的大家庭.
在这里不仅有技术知识分享,还有博主们之间的互帮互助
不定期发红包,每月更有抽奖环节,游戏机和实体书相赠(包邮)
让我们抱团取暖,抱团内卷.打造美好C站.期待您的加入.
备注 : CSDN-xxxxxx (xxxxxx代表你csdn的昵称)

来源地址:https://blog.csdn.net/qq_44590469/article/details/126340217

您可能感兴趣的文档:

--结束END--

本文标题: MySQL主从复制详细介绍

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

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

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

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

下载Word文档
猜你喜欢
  • MySQL主从复制详细介绍
    一、主从复制的目的 ​ MySQL内建的复制功能是构建基于MySQL的大规模、高性能应用的基础,复制功能的目的是构建高性能的应用,同时也是高可用性、可扩展性、灾难恢复、备份以及数据仓库等工作的基础。比较常见的用途有以下几种: 数据分布:备份...
    99+
    2023-08-20
    mysql 数据库 服务器
  • MySQL主从复制之GTID模式详细介绍
    目录一、GTID概述二、GTID相较与传统复制的优势三、GTID自身存在哪些限制四、GTID工作原理简单介绍五、如何开启GTID复制六、查看GTID相关参数七、GTID与传统模式建立...
    99+
    2022-11-13
  • 详细介绍MySQL如何开启主从复制实现数据同步
    主从复制原理 主从复制线程 主节点    dump Thread:为每个Slave的I/O Thread启动一个dump线程,用于向其发送binary log events 从节点    I/O T...
    99+
    2022-10-18
  • 详细分析MySQL主从复制
    前言: 在MySQL中,主从架构应该是最基础、最常用的一种架构了。后续的读写分离、多活高可用架构等大多都依赖于主从复制。主从复制也是我们学习MySQL过程中必不可少的一部分,关于主从复制的文章有很多,笔者也来凑凑热闹...
    99+
    2022-05-13
    MySQL 主从复制
  • MySQL的主从复制介绍及配置
    1.MySQL主从复制介绍    MySQL数据库支持单向、双向、链式级联、环状等不同业务场景的复制。在复制过程中,一台服务器充当主服务器(Master),接收来自用...
    99+
    2022-10-18
  • MySQL的主从复制==>详细步骤
    目录 前言 一、准备工作 1、提前准备好两台服务器,分别安装Mysql 2、使用克隆弄出另一台服务器的注意事项 二、配置==>主库Master  1、修改Mysql数据库的配置文件/etc/my.cnf 2、 重启Mysql服务 3、登录M...
    99+
    2023-09-08
    mysql 数据库 java
  • Mysql主从复制及Tomcat的相关介绍
    数据库常遇到的问题:1.向上拓展 scale up( 个体本身 硬件的拓展) 缺点:容易达到极限2.向外拓展 scale out(计算机的个数,组合成集群)摩尔定律:每18个月芯片的技术翻一倍,价格增长一...
    99+
    2022-10-18
  • MySQL搭建主从复制详细步骤
    下面讲讲关于MySQL搭建主从复制详细步骤,文字的奥妙在于贴近主题相关。所以,闲话就不谈了,我们直接看下文吧,相信看完MySQL搭建主从复制详细步骤这篇文章你一定会有所受益。搭建MySQL主从复制需要提前准...
    99+
    2022-10-18
  • MySQL的主从复制原理详细分析
    目录前言一、主从复制概念二、读写分离的概念三、主库和从库1. 主库2. 从库四、主从复制的流程五、主从复制效果展示前言 在实际生产环境中,如果对mysql数据库的读和写都在一台数据库服务器中操作,无论是在安全性、高可用性...
    99+
    2022-07-14
    MySQL主从复制原理 MySQL主从复制
  • MySQL主从复制详解
    ①主服务器将所有数据和结构更改记录到二进制日志中。 ②从属服务器从主服务器请求该二进制日志并在本地应用其内容。 ③IO:请求主库,获取上一次执行过的新的事件,并存放到relaylog ④SQL:从relaylog中将sql语句翻译给从...
    99+
    2017-03-30
    MySQL主从复制详解
  • MySQL主主复制(双主复制)配置过程介绍
    一、修改配置文件my.cnf 服务器A(172.16.16.70)配置如下 server_id = 70 socket = /tmp/mysql.sock innodb_buffer_pool_size =...
    99+
    2022-10-18
  • MySQL Innodb索引机制详细介绍
    1、什么是索引 索引是存储引擎用于快速找到记录的一种数据结构。 2、索引有哪些数据结构 顺序查找结构:这种查找效率很低,复杂度为O(n)。大数据量的时候查询效率很低。 ...
    99+
    2022-11-12
  • 用XtraBackup搭建mysql主从复制的详细步骤
    本篇内容介绍了“用XtraBackup搭建mysql主从复制的详细步骤”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够...
    99+
    2022-10-18
  • 从console.log说起(console.log详细介绍)
    console.log是JavaScript中常用的内置函数之一,用于在控制台输出信息。它接受一个或多个参数,可以是字符串、数字、对...
    99+
    2023-08-11
    console.log
  • JavaSPI机制详细介绍
    目录为什么需要SPI?什么是SPI?SPI和API的区别来人,上点对抗spi-providerspi-user总结为什么需要SPI? 思考一个场景,我们封装了一套服务,别人通过引入我...
    99+
    2022-11-12
  • MySQL主从复制的详细过程是怎么样的
    这篇文章将为大家详细讲解有关MySQL主从复制的详细过程是怎么样的,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。 MySQL数...
    99+
    2022-10-19
  • Windows环境下配置MySQL主从复制详细教程
    一、下载mysql 下载地址:MySQL :: MySQL Community Downloads 点击箭头所指  2、默认页面是下载mysql8,如果想下载mysql5点击箭头所指 点击箭头所指选择需要的版本 4、点击箭头所指可以选择...
    99+
    2023-09-05
    mysql 数据库 java
  • MySQL5.7主从复制详细配置教程
    目录1 环境准备2 安装mysql2.1 开放端口3 设置主库3.1 修改MySQL配置文件3.2 创建一个用户用于复制3.3 获取二进制文件位置3.4 使用mysqldump创建数据快照4 设置从库4.1 修改MySQ...
    99+
    2022-11-02
  • MySQL游标详细介绍
    目录1、什么是游标(或光标)2、如何使用游标1、声明游标2、打开游标3、使用游标4、关闭游标3、代码举例4、小结1、什么是游标(或光标) 虽然我们也可以通过筛选条件 WHERE...
    99+
    2022-11-12
  • mysql事务详细介绍
    目录简介事务四个特性事务隔离级别验证MVCC当前读快照读当前读、快照读、MVCC关系mvcc 解决的问题MVCC实现原理可见性规则简介 事务是由一组sql语句组成的逻辑处理单元 事务...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作