主从复制用来保证数据的一致性和完整性
主从复制原理:主MySQL需要开启二进制日志保存用户对Mysql数据的操作。 从数据库监听主MySQL日志变化,发现更新复制日志到本地,读取复制到本地的日志,执行日志对数据库的操作,保证主和从数据库状态和数据的一致性,防止主数据库故障数据丢失
Mysql支持三种数据复制类型分别是:基于语句复制,基于行复制,混合类型复制
基于语句复制:在主MySQL执行sql语句同步到从MySQL数据库上保证状态一致性,默认使用的是基于语句复制
基于行复制:将主MySQL数据库复制到从MySQL数据库上,当数据库表发生改变从mysql将改变的数据复制到本地
混合类型复制:语句和基于行综合应用,哪个复制数据速度快优先选择
常见的读写分离分为两种:基于程序代码内部实现,基于中间代理层实现
基于程序代码内部实现:在代码中根据select、insert进行路由分类,这类方法也是目前生产环境应用最广泛。优点是性能较好,因为在程序代码中实现,不需要增加额外的设备作为硬件开支
基于中间代理层实现:代理一般位于客户端和服务器之间,代理服务器接到客户端的请求后通过判断后转发到后端数据库
实验案例:
一,配置安装MySQL配置一主两从安装三台mysql服务器
1,安装第一台MySQL依赖程序
1)挂载系统盘
2)删除系统自带yum源配置本地yum源
3)安装依赖程序
4)创建管理nginx服务用户
2,安装配置第一台MySQL
2)配置nginx
3) 配置安装nginx
4)优化nginx命令
5)启动服务,查看服务运行状态
6)设置mysql登陆密码
二,配置和验证mysql数据库主从复制
1,配置NTP时间服务器
1)挂载系统盘
2)安装时间服务器
3)修改时间服务器主配置文件
4)重启时间服务器设置开机自启
5)两台从MySQL数据库同步时间
2,配置第一台MySQL数据库主配置文件
1)修改主配置文件
2)重启MySQL服务
3,配置第二台MySQL数据库主配置文件
1)修改主配置文件
2)重启mysql服务
4,配置第三台MySQL数据库主配置文件
1)修改主配置文件
2)重启MySQL服务
5,配置主MySQL服务器创建数据复制账户查看状态
1)登录主mysql创建复制账户
2)查看mysql数据库主节点状态
6,配置第一台从MySQL数据库服务器同步数据
1)登录mysql配置数据库复制
2)查看数据复制状态
7,配置第二台从MySQL数据库服务器同步数据
1)登录mysql配置数据库复制
2)查看数据复制状态
8,主MySQL创建数据从复制进行验证
1)登录主MySQL创建数据库
2)登录第一台从MySQL查看数据
3)登录第二胎从MySQL数据库查看复制数据
三,配置和验证MySQL数据库的读写分离
1,配置hosts文件解析
1)修改主MySQL服务器节点hosts文件
2)将hosts文件复制到其他两台从mysql节点
2,配置amoeba代理程序安装依赖
1)挂载光盘
2)安装jdk
3)安装船舰amoeba安装目录,解压到安装目录安装
4)配置环境变量
5)更新环境变量验证
3,配置读写分离
1)登录主MySQL数据库创建读写分开用户
2)修改amoeba配置文件
3)修改amoeba的配置文件
4)启动amoeba服务后台运行
5)监听服务端口
4,客户端安装msyql客户端程序
1)挂载系统盘
2)配置本地yum仓库
3)安装mysql’客户端
5,客户端验证读写分离
1)客户端登录amoeba创建数据库设置表结构插入数据
2)停止两台从mysql的复制功能
3)客户端端插入新的数据,无法查询到新插入的迪迦二号数据说明在从mysql数据库查询实现读写分离
4)启动从mysql数据库复制功能
5)客户端查询到插入的迪迦三号验证完成主从复制和读写分离
“作者是学生目前正在努力学习阶段如有不对请指出,虚心接受指导,感谢!!!”