1、理论部分
1.1、mysql replication的概念:
enables data from one mysql database server(the master) to be replicated to one or more mysql database servers(the slaves).
1.2、mysql replication的实现基础:
Binary Log(二进制日志)是实现mysql主从复制的基础
Binary Log的概念:所有的、无论是明确的或隐含的可以引起数据库发生改变的语句都要记录于Binary Log。
主从备份涉及的日志文件有:
Binary log(二进制日志)
Relay log(中继日志)
1.3、mysql replication的分类:
1)主从
2)主主
1.4、mysql replication的商业价值:
首先服务器的扩展方式有:
1)scale up:提高原有应用的服务器性能
2)scale out:原有服务器以及应用不变,增加服务器。
服务器遇到性能瓶颈,向上扩展(scale up)的成本过高,假设服务器现有价格是M,性能扩展N倍,成本往往是M*N倍还要多的多的代价才能提高N倍的性能。
1.5、mysql的集群类型
cluster分类:
1)Load Balancing(负载均衡集群),两台服务器均同时提供服务。
2)High Availability(高可用集群),属于冗余机制,只单台提供服务。
3)High Preformance(高性能集群),例子如超级计算机,将非常大的运算需求,自动分割成N片,每一片交给一台计算机处理,处理完成后再返回结果给切割的计算机重新整合。
mysql既有负载均衡能力,又有高可用的特征,从某种意义来讲,负载均衡本身就具有高可用的特征,但高可用并不能提供负载均衡的能力。
1.6、mysql的同步异步问题
同步异步概念:
Async(异步)-通讯无确认信号返回,发送方无需等待接收方回应任务即中止,异步可以提供更好的性能表现。
Sync(同步)-通讯有确认信号返回,发送方需等待接收方回应任务才中止。
mysql主从架构属于异步架构
1.7、实现主从复制的相关进程
mysql主从的进程:
1)Dump线程,负责把数据倾斜给从服务器的线程。
2)I/o thread线程,负责接收主服务器倾泻过来的线程。
3)sql thread线程,从中继日志中读取数据并在本地应用数据的线程。
1.8、mysql replication配置过程介绍
mysql replication配置过程:
1)主服务器上启用二进制日志(默认启用)
2)从服务器启用中继日志(非默认启用)
3)每一个服务器一个独立的身份标识(server id,默认都为1)
4)建立复制具有复制权限的系统账号。
5)主从SSL认证(加密)
主服务建立的账号(从服务器使用):
replication client:从主服务器获取主服务器工作信息(ID号、二级制文件、)
replication salve:从主服务器获取二进信息。
注意:从服务器建议比主服务器版本高。
2、实验部分
待续……