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

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

admin10个月前 (04-14)数码50

主从复制(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)” 的相关文章

实用性极强的-MySQL-查询优化策略 (实用性极强的app)

实用性极强的-MySQL-查询优化策略 (实用性极强的app)

在程序上线运行一段时间后,一旦数据量上去了,或多或少会感觉到系统出现延迟、卡顿等现象,出现这种问题,就需要程序员或架构师进行系统调优工作了。其中,大量的实践经验表明,调优的手段尽管有很多,但涉及到...

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

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

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

MySQL-一探究竟-核心模块揭秘 (mysql-bin文件可以删除吗)

MySQL-一探究竟-核心模块揭秘 (mysql-bin文件可以删除吗)

Undo Segment Caching To improve the efficiency of undo segmentallocation, InnoDB caches some un...

实战-MySQL-数据库压力测试与性能评估方法-Java (实战篮球鞋排名)

实战-MySQL-数据库压力测试与性能评估方法-Java (实战篮球鞋排名)

压力测试的目的和重要性 压力测试是模拟真实环境中并发用户访问数据库的场景,通过增加负载来测试数据库系统的性能表现。压力测试的目的是发现数据库在高负载下的性能瓶颈、资源利用情况和响应时间等指...

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

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

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

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

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

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

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

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

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