刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!

简答题

试题四(25分)

【说明】

某软件企业开发了一套新闻社交类软件,提供常见的新闻发布、用户关注、用户推荐、新闻点评、新闻推荐、热点新闻等功能,项目采用 My SQL 数据库来存储业务数据。系统上线后,随着用户数量的增加,数据库服务器的压力不断加大。

为此,该企业设立了专门的工作组来解决此问题。张工提出对 My SQL 数据库进行扩展,采用读写分离,主从复制的策略,好处是程序改动比较小,可以较快完成,后续也可以扩展到 My SQL 集群,其方案如图 4-1 所示。李工认为该系统的诸多功能,并不需要采用关系数据库,甚至关系数据库限制了功能的实现,应该采用 No SQL 数据库来替代 My SQL,重新构造系统的数据层。而刘工认为张工的方案过于保守,对该系统的某些功能,如关注列表、

推荐列表、热搜榜单等实现困难,且性能提升不大;而李工的方案又太激进,工作量太大,短期无法完成,应尽量综合二者的优点,采用Key-Value数据库+My SQL数据库的混合方案。

经过组内多次讨论,该企业最终决定采用刘工提出的方案。


简述MySQL数据库的主从复制过程。

使用微信搜索喵呜刷题,轻松应对考试!

答案:

当在从库上启动复制时,首先创建I/O线程连接主库,主库随后创建Binlog Dump线程读取数据库事件并发送给I/O线程,I/O线程获取到事件数据后更新到从库的中继日志Relay Log中去,之后从库上的SQL线程读取中继日志Relay Log中更新的数据库事件并应用。

解析:

MySQL数据库中的主从复制是通过binary log(二进制日志)来实现主从服务器的数据同步。主从复制的过程简述如下:

  1. 当在从库上启动复制时,首先创建I/O线程连接到主库。
  2. 主库开始写入需要复制的二进制日志(binary log)。
  3. 主库创建一个Binlog Dump线程,该线程会读取数据库的事件并发送给从库的I/O线程。
  4. I/O线程获取到事件数据后,更新到从库的中继日志(Relay Log)中。
  5. 从库上的SQL线程读取中继日志Relay Log中更新的数据库事件并应用这些事件,从而使从库的数据与主库保持一致。

参考给出的参考答案,上述解析描述了主从复制的基本过程。

创作类型:
原创

本文链接:简述MySQL数据库的主从复制过程。

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。

让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!

分享考题
share