主从复制用来保证数据的一致性和完整性

  主从复制原理:主MySQL需要开启二进制日志保存用户对Mysql数据的操作。      从数据库监听主MySQL日志变化,发现更新复制日志到本地,读取复制到本地的日志,执行日志对数据库的操作,保证主和从数据库状态和数据的一致性,防止主数据库故障数据丢失

  Mysql支持三种数据复制类型分别是:基于语句复制,基于行复制,混合类型复制

基于语句复制:在主MySQL执行sql语句同步到从MySQL数据库上保证状态一致性,默认使用的是基于语句复制

基于行复制:将主MySQL数据库复制到从MySQL数据库上,当数据库表发生改变从mysql将改变的数据复制到本地

混合类型复制:语句和基于行综合应用,哪个复制数据速度快优先选择


  常见的读写分离分为两种:基于程序代码内部实现,基于中间代理层实现

基于程序代码内部实现:在代码中根据select、insert进行路由分类,这类方法也是目前生产环境应用最广泛。优点是性能较好,因为在程序代码中实现,不需要增加额外的设备作为硬件开支

基于中间代理层实现:代理一般位于客户端和服务器之间,代理服务器接到客户端的请求后通过判断后转发到后端数据库


实验案例:

一,配置安装MySQL配置一主两从安装三台mysql服务器

1,安装第一台MySQL依赖程序

1)挂载系统盘

Linux——MySQL主从复制读写分离_数据库

2)删除系统自带yum源配置本地yum源

Linux——MySQL主从复制读写分离_MySQL_02

Linux——MySQL主从复制读写分离_MySQL_03

3)安装依赖程序

Linux——MySQL主从复制读写分离_数据_04

4)创建管理nginx服务用户

Linux——MySQL主从复制读写分离_数据库_05

2,安装配置第一台MySQL

Linux——MySQL主从复制读写分离_数据_06

2)配置nginx

Linux——MySQL主从复制读写分离_数据库_07

Linux——MySQL主从复制读写分离_数据_08

3) 配置安装nginx

Linux——MySQL主从复制读写分离_数据库_09

4)优化nginx命令

Linux——MySQL主从复制读写分离_MySQL_10

5)启动服务,查看服务运行状态

Linux——MySQL主从复制读写分离_MySQL_11

6)设置mysql登陆密码

Linux——MySQL主从复制读写分离_MySQL_12

二,配置和验证mysql数据库主从复制

1,配置NTP时间服务器

1)挂载系统盘

Linux——MySQL主从复制读写分离_数据_13

2)安装时间服务器

Linux——MySQL主从复制读写分离_数据库_14

3)修改时间服务器主配置文件

Linux——MySQL主从复制读写分离_MySQL_15

4)重启时间服务器设置开机自启

Linux——MySQL主从复制读写分离_MySQL_16

5)两台从MySQL数据库同步时间

Linux——MySQL主从复制读写分离_数据_17

Linux——MySQL主从复制读写分离_数据库_18

2,配置第一台MySQL数据库主配置文件

1)修改主配置文件

Linux——MySQL主从复制读写分离_数据_19

Linux——MySQL主从复制读写分离_数据_20

2)重启MySQL服务

Linux——MySQL主从复制读写分离_数据_21

3,配置第二台MySQL数据库主配置文件

1)修改主配置文件

Linux——MySQL主从复制读写分离_MySQL_22

Linux——MySQL主从复制读写分离_MySQL_23

2)重启mysql服务

Linux——MySQL主从复制读写分离_MySQL_24

4,配置第三台MySQL数据库主配置文件

1)修改主配置文件

Linux——MySQL主从复制读写分离_MySQL_25

2)重启MySQL服务

Linux——MySQL主从复制读写分离_数据_26

5,配置主MySQL服务器创建数据复制账户查看状态

1)登录主mysql创建复制账户

Linux——MySQL主从复制读写分离_数据_27

2)查看mysql数据库主节点状态

Linux——MySQL主从复制读写分离_数据_28

6,配置第一台从MySQL数据库服务器同步数据

1)登录mysql配置数据库复制

Linux——MySQL主从复制读写分离_数据_29

2)查看数据复制状态

Linux——MySQL主从复制读写分离_数据库_30

7,配置第二台从MySQL数据库服务器同步数据

1)登录mysql配置数据库复制

Linux——MySQL主从复制读写分离_MySQL_31

2)查看数据复制状态

Linux——MySQL主从复制读写分离_数据库_32

8,主MySQL创建数据从复制进行验证

1)登录主MySQL创建数据库

Linux——MySQL主从复制读写分离_数据_33

2)登录第一台从MySQL查看数据

Linux——MySQL主从复制读写分离_MySQL_34

3)登录第二胎从MySQL数据库查看复制数据

Linux——MySQL主从复制读写分离_数据_35

三,配置和验证MySQL数据库的读写分离

1,配置hosts文件解析

1)修改主MySQL服务器节点hosts文件

Linux——MySQL主从复制读写分离_数据_36

Linux——MySQL主从复制读写分离_数据库_37

2)将hosts文件复制到其他两台从mysql节点

Linux——MySQL主从复制读写分离_MySQL_38

2,配置amoeba代理程序安装依赖

1)挂载光盘

Linux——MySQL主从复制读写分离_数据库_39

2)安装jdk

Linux——MySQL主从复制读写分离_数据库_40

Linux——MySQL主从复制读写分离_数据库_41

Linux——MySQL主从复制读写分离_数据_42

Linux——MySQL主从复制读写分离_数据库_43

3)安装船舰amoeba安装目录,解压到安装目录安装

Linux——MySQL主从复制读写分离_数据_44

4)配置环境变量

Linux——MySQL主从复制读写分离_数据_45

5)更新环境变量验证

Linux——MySQL主从复制读写分离_MySQL_46

3,配置读写分离

1)登录主MySQL数据库创建读写分开用户

Linux——MySQL主从复制读写分离_数据_47

2)修改amoeba配置文件

Linux——MySQL主从复制读写分离_MySQL_48

Linux——MySQL主从复制读写分离_数据_49

Linux——MySQL主从复制读写分离_MySQL_50

Linux——MySQL主从复制读写分离_数据库_51

3)修改amoeba的配置文件

Linux——MySQL主从复制读写分离_数据库_52

Linux——MySQL主从复制读写分离_MySQL_53

Linux——MySQL主从复制读写分离_MySQL_54

Linux——MySQL主从复制读写分离_数据库_55

Linux——MySQL主从复制读写分离_MySQL_56

Linux——MySQL主从复制读写分离_数据_57

4)启动amoeba服务后台运行

Linux——MySQL主从复制读写分离_MySQL_58

5)监听服务端口

Linux——MySQL主从复制读写分离_MySQL_59

4,客户端安装msyql客户端程序

1)挂载系统盘

Linux——MySQL主从复制读写分离_MySQL_60

2)配置本地yum仓库

Linux——MySQL主从复制读写分离_数据库_61

Linux——MySQL主从复制读写分离_MySQL_62

3)安装mysql’客户端

Linux——MySQL主从复制读写分离_MySQL_63

5,客户端验证读写分离

1)客户端登录amoeba创建数据库设置表结构插入数据

Linux——MySQL主从复制读写分离_数据库_64

Linux——MySQL主从复制读写分离_数据库_65

Linux——MySQL主从复制读写分离_数据_66

Linux——MySQL主从复制读写分离_MySQL_67

Linux——MySQL主从复制读写分离_数据_68

2)停止两台从mysql的复制功能

Linux——MySQL主从复制读写分离_数据_69

Linux——MySQL主从复制读写分离_MySQL_70

3)客户端端插入新的数据,无法查询到新插入的迪迦二号数据说明在从mysql数据库查询实现读写分离

Linux——MySQL主从复制读写分离_数据库_71

Linux——MySQL主从复制读写分离_数据_72

4)启动从mysql数据库复制功能

Linux——MySQL主从复制读写分离_数据_73

5)客户端查询到插入的迪迦三号验证完成主从复制和读写分离

Linux——MySQL主从复制读写分离_MySQL_74



“作者是学生目前正在努力学习阶段如有不对请指出,虚心接受指导,感谢!!!”