MySQL数据库任务驱动式教程(第3版)项目十一_第1页
MySQL数据库任务驱动式教程(第3版)项目十一_第2页
MySQL数据库任务驱动式教程(第3版)项目十一_第3页
MySQL数据库任务驱动式教程(第3版)项目十一_第4页
MySQL数据库任务驱动式教程(第3版)项目十一_第5页
已阅读5页,还剩9页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

项目十一MySQL集群架构搭建实例MySQL数据库任务驱动式教程(第3版)(微课版)人民邮电出版社北京任务26Linux操作系统中搭建MySQL集群【任务背景】在现实生产环境中,随着业务的发展,数据库的承载能力会慢慢达到瓶颈(机器硬件性能、开发代码性能差等),导致单个数据库不足以满足现阶段业务需求,因此需要采用数据库集群与分布式架构来减轻单个服务器的压力。【任务要求】本任务从了解MySQL主从原理着手,理解主从同步机制。学习者应掌握MySQL的主从与互为主从的配置,对主从同步故障能快速定位故障点并进行错误排除。认识MySQL主从MySQL支持的复制的类型见表26.1。MySQL支持的复制的类型复制的类型优点缺点基于语句的复制(1)基于语句的复制基本就是执行SQL语句,这意味着所有在服务器上发生的变更都以一种容易理解的方式运行,出问题时可以很好的定位;(2)不需要记录每一行数据的变化,减少了bin-log日志量,节省I/O以及存储资源,提高性能(1)对于触发器或者存储过程,存在大量bug;(2)很多情况下无法正确复制基于行的复制(1)bin-log会非常清楚地记录下每一行数据修改的细节,非常容易理解;(2)几乎没有基于行的复制无法处理的场景,对于所有的SQL构造、触发器、存储过程,其都能正确执行(1)会产生大量的日志内容;(2)难以定位;(3)难以进行时间点恢复混合类型的复制默认情况下使用基于语句的复制方式,如果发现语句无法被正确复制,就切换成基于行的复制方式认识MySQL主从

MySQL复制技术的特点1.数据的分布

(Datadistribution)2.负载平衡

(Loadbalancing)3.备份

(Backups)4.高可用性和容错性

(Highavailabilityandfailover)复制技术使数据从一台MySQL主服务器Master复制一到一台或多台MySQL从属服务器Slave。因此,使用复制技术可以创建数据的本地副本以供远程站点使用,而无需永久访问主数据库实现远程数据分发。数据写入和更新在主服务器Master上进行,数据读取和查询发生在一个或多个从属服务器(Slave)上,读写分离降低了master服务器的访问压力,负载平衡提高了性能。主服务器(Master)数据被复制到从属服务器(Slave),并且从属服务器(Slave)可以暂停复制过程,在从属服务器上运行备份服务而不会破坏相应的主数据,保证数据的备份和数据安全。实时数据可以在主数据库服务器(Master)上创建,而信息分析可以在从属数据库服务器(Slave)上进行,而不会影响主数据库服务器的性能。认识MySQL主从MySQL主从复制过程复制的基本过程如下。Slave上面的I/O进程连接上Master,请求从bin-log文件的指定位置(或从文件头部)之后的日志内容。Master接收到来自Slave的I/O进程的请求后,I/O进程根据请求信息读取指定bin-log文件信息,返回给Slave的I/O进程。返回信息中除了日志所包含的信息之外,还包括本次返回的信息已经到Master端的bin-log文件的名称以及bin-log的位置。Slave的I/O进程接收到信息后,将接收到的日志内容依次添加到Slave端的relay-log文件的最末端,并将读取到的Master端的bin-log的文件名和位置记录到master-info文件中,以便在下一次读取的时候能够清楚地告诉Master“需要从某个bin-log的哪个位置开始往后的日志内容”。Slave的SQL进程检测到relay-log中增加了内容后,会马上解析relay-log的内容然后判断Master端哪些内容已经执行,并在自身执行。认识MySQL主从复制的过程如图26.1所示。图26.1复制的过程MySQL主从详细配置Master服务器配置在f配置文件中,打开二进制日志,指定唯一的server-id,如图26.2所示。创建主从连接账号,如图26.3所示。MySQL8.0版本的安全级别更高,必须先创建用户再设置密码。mysql>createuser'rep'@'';同时,由于MySQL80使用的是caching_sha2_password加密规则,为了避免SLAVE远程连接出现错误,最好修改远程连接用户的加密规则,并使用大小写加数字加特殊符号的密码策略限制。mysql>ALTERUSER'rep'@''IDENTIFIEDWITHmysql_native_passwordBY'REP@password123';图26.3创建主从连接账号图26.2配置fMySQL主从详细配置然后授予REPLICATIONSLAVE的权限,并刷新授权表。mysql>GRANTREPLICATIONSLAVEON*.8TO'rep'@'';mysql>flushprivileges;重启MySQL服务(修改配置文件后重启生效),运行showmasterstatus查看现有行号(Position),如图26.4所示。图26.4查看现有行号MySQL主从详细配置Slave服务器配置在f配置文件中,打开二进制日志,指定唯一的server-id,打开relay-log日志,log_slave把更新的操作写入bin-log中,只读属性,如图26.5所示。修改完配置文件,重启MySQL服务。进入MySQL,告诉备库如何连接到主库并重放其二进制日志,如图26.6所示。执行后启动从配置,如图26.7所示。最后执行showslavestatus查看配置结果,如图26.8所示。图26.8查看配置结果图26.6备库如何连接到主库图26.5配置fMySQL主从详细配置配置验证在Master服务器中写入对应的内容,如图26.9所示。在Slave服务器中使用Select语句验证是否有成功同步,如图26.10所示。主从配置成功。图26.9在Master服务器写入验证内容图26.10在Slave服务器中验证项目实践(1)根据本项目内容,搭建主从配置。(2)根据本项目提示,在主从配置中,从服务器再添加一台从服务器进行数据同步,如图26.11所示。(3)在主服务器上创建表,并且尝试插入数据,在图26.11中,在Slave2服务器上尝试查询同步的数据。图26.11二主多从原理图习题一、单项选择题1.在主从同步过程中,同步的文件是__________进制文件。A.二进制 B.十进制 C.十六进制 D.ASCII2.主从同步的文件名称为__________。A.Blog B.Sql_log C.log_bin D.Binarylog3.主从配置与同步过程中下列说法正确的是。A.在主从同步过程中,Slave服务器从Master服务器中获取Binarylog日志,写入本机Binarylog日志,然后逐行执行。B.主从配置中,主服务器和从服务器的server-id必须一致,这样才能保证正常同步。C.主服务器写入时,从服务器不能写入。只能等待主服务器写入完后,才能写入从服务器群。D.配置主从时,当单台从服务器性能不足以支撑业务,可以考虑一主两从,甚至是一主三从。习题二、填空题

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论