当前位置:首页 > 数码 > 主从复制原理简介-MySQL (主从复制原理mysql)

主从复制原理简介-MySQL (主从复制原理mysql)

admin7个月前 (04-14)数码32

主从复制(Master-SlaveReplication)是一种数据复制技术,用于在多个数据库主机之间的数据同步。在主从复制架构中,一个主机被设置为主主机(Master),充任数据源,其余主机被设置为从主机(Slave),用来复制主主机的数据。

一、主从复制好处

主从复制的重要好处有以下几个:

二、如何成功主从复制?

1.性能偏重启主主机

在主主机的性能文件(my.cnf)中参与以下参数:

以上性能成功之后,重启MySQL主机,由于重启了MySQL服务才干让性能失效。

2.创立用于主从复制的用户

登录到主主机上,口头以下命令:

CREATEUSER'repl'@'%'IDENTIFIEDBY'pass';--交流为实践的用户名和明码GRANTREPLICATIONSLAVEON*.*TO'repl'@'%';

3.检查主主机形态

在MySQL主主机中,口头以下命令,记载下File和Position的值,后续用于性能从主机:

SHOWMASTERSTATUS;

4.性能偏重启从主机

在从主机的性能文件(my.cnf)中参与以下参数:

重启从主机,让以上性能失效。

5.在从主机上设置主主机消息

登录到从主机的MySQL中,口头以下命令(将MASTER_HOST、MASTER_USER、MASTER_PASSWORD、MASTER_LOG_FILE和MASTER_LOG_POS交流为对应的值):

CHANGEMASTERTO,,MASTER_PASSWORD='password',,MASTER_LOG_POS=log_file_position;

6.启动从主机的复制进程

口头以下命令启动从主机的复制进程:

STARTSLAVE;

7.审核从主机的复制形态

口头以下命令,确保Slave_IO_Running和Slave_SQL_Running的值都为"YES":

SHOWSLAVESTATUSG;

三、主从复制原理

MySQL数据库的主从复制重要是基于BinaryLog(二进制文件,简称binlog)成功的,它的成功流程如下:

它的重要口头流程如下:

四、BinLog日志格局

BinaryLog二级制日志,它总共有以下三种格局(不同的日志格局选择了不同的主从同步成果):

(1)STATEMENT格局(语句形式,出如今MySQL5.1之前):在这种格局下,binlog记载的是口头的SQL语句的文本。

(2)ROW格局(行形式,降生于MySQL5.1):在这种格局下,binlog记载的是每一行数据更改的详细内容。

(3)MIXED格局(混合形式):在这种格局下,binlog可以依据详细的SQL语句和操作智能选择经常使用STATEMENT或ROW格局。

五、主从复制形式

MySQL中重要有以下两种主从复制的形式,区分是异步复制和半同步复制。

(1)异步复制:MySQL主从复制中最经常出现和自动的形式。在异步复制形式中,主主机将数据修正操作记载到二进制日志(BinaryLog)中,并将日志传输给从主机。从主机接纳到二进制日志后,会异步地运行这些日志启动数据复制。

(2)半同步复制:半同步复制是MySQL主从复制中的一种增强形式。在半同步复制形式中,主主机将数据修正操作记载到二进制日志,并期待至少一个从主机确认已接纳到并运行了这些日志后才继续口头后续操作。

假设对数据分歧性和牢靠性要求较高,可以思考经常使用半同步复制;假设对提早和主主机性能要求较高,可以继续经常使用异步复制,依据实践需求调整复制形式。

小结

MySQL主从复制用于多个数据库主机之间的数据同步,它可以提供高可用性、提高数据库全体性能和吞吐量,以及可以启动数据备份和数据库复原。MySQL主从复制是经过binlog成功的,主服务写入操作会同时参与到binlog中,而从数据库活期拉取主数据库的binlog,而后将拉取的数据寄存到自己的relaylog中,之后再由独自SQL线程将数据写入到从数据库中,此时MySQL的主从同步就成功了。


mysql的主从复制是如何实现的

mysql的主从复制是如何实现的前言MySQL的主从复制是MySQL本身自带的一个功能,不需要额外的第三方软件就可以实现,其复制功能并不是copy文件来实现的,而是借助binlog日志文件里面的SQL命令实现的主从复制,可以理解为我再Master端执行了一条SQL命令,那么在Salve端同样会执行一遍,从而达到主从复制的效果。 MySQL主从复制架构图一主一从master-slave-replication-01master-slave-replication-01一主多从master-slave-replication-02master-slave-replication-02级联master-slave-replication-03master-slave-replication-03双主一从master-slave-replication-04master-slave-replication-04互为主从master-slave-replication-05master-slave-replication-05环状master-slave-replication-06master-slave-replication-06主从复制原理MySQL的主从复制是一个异步的复制过程,数据库从一个Master复制到Slave数据库,在Master与Slave之间实现整个主从复制的过程是由三个线程参与完成的,其中有两个线程(SQL线程和IO线程)在Slave端,另一个线程(IO线程)在Master端。 主从复制流程图流程说明:MySQL主从复制之前我们需要先启动Master数据库然后再启动Salve数据库,然后在Salve数据库中执行start slave;,执行完成之后,流程就如下了:Salve的IO线程会读取文件中配置好的主库信息,比如说存放的有:Master数据库的用户名、密码、端口、还有Master的binlog索引位置;拿到信息之后就带着信息去链接Master的主库IO线程当主库的IO线程先检查SLave传过来的配置信息是否正确,如果正确,就拿着Slave传过来的binlog索引位置和Master库的binlog文件中最后一个索引位置进行对比,如果一致就陷入等待状态,等待Master的binlog索引位置更新;如果不一致就把Slave传过来的binlog索引位置往后的所有SQL语句包括最后一条SQL语句的索引位置发送个给Slave的IO线程;Slave的IO线程拿到信息之后,先把Master传过来的binlog索引在Slave的文件中进行更新;然后再把Master传过来的SQL语句写入到relay文件中,然后继续循环执行第二个步骤;Slave的SQL线程会一直持续的观察relay日志文件中是否有改动,如果没有就继续监听;如果发现relay中有变动,那么就获取变动的内容转换为SQL语句,并且把SQL语句在Salve的数据库中进行执行mysql的主从复制是如何实现的标签:内容参与功能starmysstrnlogmysql主从复制效果

主从复制原理简介

mysql主从复制原理

主从复制是指一台服务器充当主数据库服务器,另一台或多台服务器充当从数据库服务器,主服务器中的数据自动复制到从服务器之中。

对于多级复制,数据库服务器即可充当主机,也可充当从机。MySQL主从复制的基础是主服务器对数据库修改记录二进制日志,从服务器通过主服务器的二进制日志自动执行更新。

扩展资料

Mysq主从复制的类型

1、基于语句的复制:

主服务器上面执行的语句在从服务器上面再执行一遍,在MySQL-3.23版本以后支持。存在的问题:时间上可能不完全同步造成偏差,执行语句的用户也可能是不同一个用户。

2、基于行的复制:

把主服务器上面改变后的内容直接复制过去,而不关心到底改变该内容是由哪条语句引发的,在MySQL-5.0版本以后引入。

免责声明:本文转载或采集自网络,版权归原作者所有。本网站刊发此文旨在传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及版权、内容等问题,请联系本网,我们将在第一时间删除。同时,本网站不对所刊发内容的准确性、真实性、完整性、及时性、原创性等进行保证,请读者仅作参考,并请自行核实相关内容。对于因使用或依赖本文内容所产生的任何直接或间接损失,本网站不承担任何责任。

标签: MySQL

“主从复制原理简介-MySQL (主从复制原理mysql)” 的相关文章

Java开发者的MySQL数据库版本管理策略-从规划到部署的全面指南 (java开发工程师)

Java开发者的MySQL数据库版本管理策略-从规划到部署的全面指南 (java开发工程师)

数据库是软件开发中常用的关系型数据库之一。版本管理是保障数据库稳定性和可靠性的重要方面。本文将介绍针对 Java 开发者的 MySQL 数据库版本管理策略,包括版本控制工具选择、数据库脚本管理、变...

优化数据统计的终极指南-MySQL-提升查询性能的秘诀 (优化数据统计工具)

优化数据统计的终极指南-MySQL-提升查询性能的秘诀 (优化数据统计工具)

在业务场景中,我们经常需要统计当前已有的业务数据,例如商品库内商品的数量、每天的用户订单数量等。此时,我们需要使用统计功能来实现。 count()实现方式 对于不同的数据库引擎,co...

全面指南-如何解决-MySQL-主从延时问题 (全面指导)

全面指南-如何解决-MySQL-主从延时问题 (全面指导)

一、什么是主从延时? 主从延时,是指从数据库从主数据库复制数据时产生的时间差。它会导致从库中的数据与主库不一致。 二、为什么会主从延时? 1. 主从复制原理 MySQL的...

核心模块-深入探索数据库引擎-MySQL-揭秘 (核心模块英文)

核心模块-深入探索数据库引擎-MySQL-揭秘 (核心模块英文)

简介 Savepoint 是 MySQL 中的一种机制,允许在事务中创建标记点,以便在事务失败时回滚到该标记点。Savepoint 的原理是将事务的当前状态存储在各种数据结构中,包括服务器层、b...

使用-数据库并自动发送备份文件到指定邮箱-K8s-定期备份-MySQL (使用数据库的命令)

使用-数据库并自动发送备份文件到指定邮箱-K8s-定期备份-MySQL (使用数据库的命令)

简介 本文档描述了一个使用脚本来监控服务器高占用率进程并通过电子邮件发送警报的项目。本文还探讨了使用相同机制备份数据库的可能性。 技术 Python psuti...

обеспечение-и-данных-MySQL锁机制-предотвращение-конфликтов-согласованности (翻译)

обеспечение-и-данных-MySQL锁机制-предотвращение-конфликтов-согласованности (翻译)

锁机制是一种通过对数据进行加锁来防止数据冲突和不一致的技术。MySQL 采用了两种类型的锁:共享锁和排他锁,以实现并发访问数据的同时保证数据的一致性。 共享锁 (SharedLock)...

揭秘MySQL中Varchar和Int的隐式转换 (揭秘国安部点名的间谍机构)

揭秘MySQL中Varchar和Int的隐式转换 (揭秘国安部点名的间谍机构)

前言 在一次例行测试中,我们遇到了一个奇特的现象。一条查询库存数量的SQL语句,居然返回了0条记录。当我们手工执行SQL时,却查询到了一条记录。调查发现,原因在于MySQL的优化器在判断数据类型...