文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

PHP面试宝典之Mysql数据库高级篇(二)主从复制

2023-09-04 07:08

关注

主从复制的原理?

主服务器写,从服务器读;

主服务器将更新语句记录到日志中,从服务器获取主服务器的日志,并写入到自己日志中,从服务器的sql线程监控从服务器日志情况,发现变化,就对日志进行解析并执行

MySQL支持哪些复制类型?

基于语句、基于行、混合复制

基于语句:主服务器执行的sql,从服务器再执行一遍;默认复制方式,效率高

基于行:将改变的内容复制过去

混合型:默认基于语句,一旦语句无法精准复制,就采用基于行的复制

主从复制的过程?

主节点开启二进制日志(将sql记录到日志中)

从节点执行sart slave命令,开启主从复制,从节点的i/o线程,连接主节点,并请求指定日志的指定位置,之后的日志内容

主节点接收到请求后,为每一个请求,启动一个dump线程,将请求的日志信息,返回给从节点(包括下一次更新位置)

从节点接收到日志内容后,将日志内容,更新到本机的中继日志,的最末端

从节点的sql线程,监测到中继日志新增了内容后,会将内容解析成sql语句,并在本机执行

主从复制是拉?还是推?

是推;

拉:是通过不停的循环访问主库的数据变更,消耗资源过多,效率低;

推:是主库主动告诉从库数据变化,只有变化时,才会发生交互,消耗资源少

如何推的?

当从库向主库申请数据变更时,需要指定文件、位置,相应的主库会启动一个线程,将变更的记录一条条发送给从库,从库一直监听主库的变化

主从复制方案?

异步复制、半同步复制、全同步复制

异步复制:默认复制方式;主节点事务提交前,不需要经过从节点确认,且不保证日志一定写入到从节点的中继日志中,从服务器的sql线程异步执行中继日志,也不需要从服务器确认,且不保证执行成功

半同步复制:5.5及以后新增;主节点事务提交前,必须确保日志,至少写入到一台从服务器,并执行成功,才能进行事务提交

全同步复制:5.7.17及以后新增;主节点事务提交前,必须确保全部从服务器日志都要写入且执行成功,才能完成提交

当一台从服务器时,半同步和全同步一样吗?

是一样的,全同步就是要保证所有从服务器都执行成功,在只有一台从服务器时,刚好和半同步的原理一致,因此是相同的

如果主从同步失败该怎么办?

使用set全局跳过错误事件

重新连接主数据库,跳过中间同步问题,可能会导致一些数据未同步,可以先保证数据和结构都一致再重新连接

主从复制,数据延迟的原因?

从库太多、从库硬件太差、慢sql、主库写入并发太大、网络延迟

如何解决主从延迟?

强制读取主库数据(会导致主从失效)

检查延迟时间

半同步复制

并行复制

sleep等待方案(主库更新后,读从库之前先sleep一下)

主从复制和读写分离的关系?

读写分离是建立在主从复制的基础上的,通过读写分离提升数据库的并发负载,通过主从复制进行数据同步

如何实现读写分离?

通过路由控制,将更新操作和查询操作分别指向不同数据库,laravel框架的配置文件中,可以配置读库和写库

mysql主从复制和mysql集群的区别?

主从:是通过mysql的复制来保证数据一致性的,可能会有延迟;不满足高可用,主机宕机,需要手动切换,业务会中断;

集群:数据同步是异步的;实时同步,高可用,性能相对较差

集群的工作流程?

主节点在执行提交语句时,将事务发送到从节点;
2:每个从节点都要准备事务的提交,然后向主节点发送消息(准备成功或失败);
3-1:如果都准备成功,主节点会告知所有从节点,提交事务;
3-2:如果有一个失败,主节点会告诉所有从节点,终止事务;
4:从节点按照消息执行后,将结果返回给主节点
5:然后由主节点报告该事务最终是,被提交或终止;

来源地址:https://blog.csdn.net/qq_38989173/article/details/130450074

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯