MariaDB(mysql)之主从同步

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
日志服务 SLS,月写入数据量 50GB 1个月
简介:

一、主从同步的作用

   1、数据分布

   2、负载均衡(load balancing)

   4、高可用性(high availability)和容错

二、主从同步原理

   mysql(MariaDB)的主从复制其实很简单,只要搞懂了原理,配置一个主从复制就是三下五除二的工夫

1、二进制日志

   想要做主从复制必须得有这个二进制日志,那二进制日志记录的是什么呢?二进制日志中保存的只是跟服务器修改相关的操作,也叫复制日志

   二进制日志为了避免日志文件过大,要进行不停地滚动,其主要有两个功能:

   (1)即时点恢复

   (2)复制

   因为二进制日志有即时点恢复功能,所以万一某天一个不小心失误把数据库删了,只要二进制日志文件保存完好,就可以把我们的数据恢复回来。可见二进制日志是非常重要的,因此二进制日志千万不要和你的数据库目录放到一起,而要另找一个位置保存

   今天我们要做的是利用他的第二个功能完成主从复制

2、中继日志

   中继日志和复制相关,中继日志是从服务器从主服务器上读取主服务器上二进制日志中的事件,每读一个过来,并保存到本地。

3、主从同步原理

wKiom1NL6CuzBZn2AAF0SQq6SYk430.jpg

   原理详解:

   1)主服务器发生数据更改操作,数据写入到数据文件和二进制文件中,然后去唤醒从服务器的I/O线程(IO thread)

   2)从服务器的IO thread来请求主服务器并把从主服务器的binlog dump线程返回结果写入到本地中继日志中

   3)从服务器的SQL thread每读一条中继日志,然后写一条到本地数据文件中

   4)此过程中,从服务器只是同步主服务器的数据,所以他无需开启二进制日志,而且从服务器最好设为只读模式

   5)主从复制并不是一个备份的过程,它只是一个数据同步的过程,因为,如果你在主服务器上删除一个库,那你会发现从服务器上也没有了

   6)从服务器并不能负载主服务器的写操作,它只可以负载主服务器的读操作;因为,不管你主服务器写多少,从服务器都会通过它的中继日志和主服务器的二进制日志同步到它本地的

三、主从同步的实现

1、修改主服务器的配置文件,我这里的数据目录在/mydata/data下,为了安全,我把二进制日志放到了/mydata/binlogs下,别忘了给这几个目录设置属主和属组为mysql用户,mysql组

wKioL1NL5tPhDZQhAACGNoQylJA433.png

2、在从服务器上修改主配置文件,方法同上一步

wKioL1NL523Q60FnAACpJeMS5uo355.png

3、查看从服务器的中继日志是否启动成功

wKiom1NL59qQrvfKAABSSR44tJo687.png

4、在主服务器上创建有复制权限的账号

1
2
grant replication slave  on *.* to  'moba' @ '192.168.100.137'  identified by  'moba2015' ;
flush privileges;


wKiom1NL6GWDCPnsAAAq6ksFitA533.png

5、在主服务器上查看其状态信息

wKioL1NL6GniGkKvAAAxheGBB2A943.png

6、从服务器连接主服务器

wKioL1NL6KKjOnMMAAA9x71JKVg434.png

7、查看从服务器的状态信息,检查是否连接主服务器成功

wKioL1NL6Qbj2ibwAABmkca4J0A693.png

   这里的Slave_IO_Running和Slave_SQL_Running两个线程必须都为Yes才是正确的,出现了什么connecting啊还是no什么的都是没连接成功的。IO thread是去请求主服务器的二进制日志并写入到本地中继日志的,SQL thread是从中继日志写入到本地数据文件的。

8、在主服务器上创建一个数据库

wKioL1NL6ejA7IShAABNlcLvfgA495.png

9、在从服务器上启动复制线程,测试hlbrc这个库是否同步成功

1
mysql>start slave;

wKioL1NL6kax7-PJAABzjio32Vs192.png

四、主从同步配置过程总结

1、主服务器

   1)修改server-id

   2)启用二进制日志

   3)创建有复制权限的账号

2、从服务器

   1)修改server-id

   2)启用中继日志

   3)连接主服务器

   4)启程复制线程  










本文转自 nmshuishui 51CTO博客,原文链接:http://blog.51cto.com/nmshuishui/1395587,如需转载请自行联系原作者
相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
2月前
|
安全 关系型数据库 MySQL
如何将数据从MySQL同步到其他系统
【10月更文挑战第17天】如何将数据从MySQL同步到其他系统
223 0
|
2月前
|
SQL 存储 关系型数据库
Mysql主从同步 清理二进制日志的技巧
Mysql主从同步 清理二进制日志的技巧
31 1
|
3月前
|
消息中间件 canal 关系型数据库
Maxwell:binlog 解析器,轻松同步 MySQL 数据
Maxwell:binlog 解析器,轻松同步 MySQL 数据
366 11
|
4月前
|
关系型数据库 MySQL Linux
mysql 主从同步 实现增量备份
【8月更文挑战第28天】mysql 主从同步 实现增量备份
53 3
|
4月前
|
消息中间件 关系型数据库 MySQL
实时计算 Flink版产品使用问题之使用CTAS同步MySQL到Hologres时出现的时区差异,该如何解决
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
4月前
|
关系型数据库 Java MySQL
Linux安装JDK1.8 & tomcat & MariaDB(MySQL删减版)
本教程提供了在Linux环境下安装JDK1.8、Tomcat和MariaDB的详细步骤。这三个组件的组合为Java Web开发和部署提供了一个强大的基础。通过遵循这些简单的指导步骤,您可以轻松建立起一个稳定、高效的开发和部署环境。希望这个指导对您的开发工作有所帮助。
235 8
|
4月前
|
SQL 缓存 关系型数据库
MySQL主从同步如何操作?
随着业务增长,单台MySQL服务器难以应对高并发访问和潜在的故障风险。主从同步(Master-Slave)通过读写分离提升数据库处理能力,具备多项优势:读写分离减轻主数据库压力、支持一主多从增强扩展性与高可用性、以及数据备份确保容灾恢复。MySQL利用binlog实现主从数据同步,记录所有写操作,不包含查询。binlog有三种格式:Statement(基于SQL语句)、Row(基于行更改)、Mixed(结合前两者优点)。主从复制涉及三个关键线程:主库的binlog dump thread和从库的I/O thread与SQL thread。
110 0
MySQL主从同步如何操作?
|
4月前
|
存储 关系型数据库 MySQL
MySQL主从同步如何保证数据一致性?
MySQL主从同步如何保证数据一致性?
324 0
MySQL主从同步如何保证数据一致性?
|
4月前
|
SQL 存储 关系型数据库
实时计算 Flink版产品使用问题之同步MySQL多张表的过程中,内存释放依赖于什么
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
4月前
|
SQL 存储 关系型数据库
MySQL主从同步延迟原因与解决方法
MySQL主从同步延迟原因与解决方法
660 0