一、Mysql主从复制作用原理
1、在业务复杂的系统中,有这么一个情景,有一句sql语句需要锁表,导致暂时不能使用读的服务,那么就很影响运行中的业务,使用主从复制,让主库负责写,从库负责读,这样,即使主库出现了锁表的情景,通过读从库也可以保证业务的正常运作。
2、做数据的热备
3、架构的扩展。业务量越来越大,I/O访问频率过高,单机无法满足,此时做多库的存储,降低磁盘I/O访问的频率,提高单个机器的I/O性能。
mysql主从复制是一个异步的复制过程,主库发送更新事件到从库,从库读取更新记录,并执行更新记录,使得从库的内容与主库保持一致。
二、Msql读写分离
1:简单来说,读写分离就是只在主服务器上写,只在从服务器上读。因为Mysql在写入数据时会锁定表或者行,所有需要将读写分离开,实现写的同时也能读取数据。
2: Amoeba是一个以MySQL为底层数据存储,并对应用提供MySQL协议接口的proxy。它集中地响应应用的请求,依据用户事先设置的规则,将SQL请求发送到特定的数据库上执行。基于此可以实现负载均衡、读写分离、高可用性等需求。与MySQL官方的MySQL Proxy相比,作者强调的是amoeba配置的方便(基于XML的配置文件,用SQLJEP语法书写规则,比基于lua脚本的MySQL Proxy简单)。
3:Amoeba相当于一个SQL请求的路由器,目的是为负载均衡、读写分离、高可用性提供机制,而不是完全实现它们。用户需要结合使用MySQL的 Replication等机制来实现副本同步等功能。
三、读写分离的配置,以Linux中的Mariadb为例
(一). 服务端客户端测试
1.Ip 服务端ip地址: 10.10.102.210 客户端ip地址: 10.10.102.217
2.关于防火墙
(1)查看防火墙状态 systemctl status firewalld
(2)关闭防火墙 systemctl stop firewalld
3.测试客户端服务端连接情况
ping 10.10.102.217
(二)、主环境安装mariadb数据库
4.安装mariadb数据库
yum -y install mariadb mariadb-server