MySQL主从复制与读写分离
一、基本概念
MySQL主从复制原理
1、MySQL支持的复制类型
(1)基于语句的复制。在主服务器上执行的SQL语句,在从服务器上执行同样的语句。MySQL 默认采用基于语句的复制,效率比较高。
(2)基于行的复制。把改变的内容复制过去,而不是把命令在从服务器上执行一遍。
(3)混合类型的复制。默认采用基于语句的复制,一旦发现基于语句无法精确复制时,就会采 用基于行的复制。
2、MySQL读写分离原理
主数据库处理事务性查询,而从数据库处理select查询。数据库复制被用来把事务性查询导致的变 更同步到群集中的从数据库。
二、搭建MySQL主从复制
1、建立时间同步环境
在主节点上搭建时间同步服务器
配置NTP
添加
重启服务并设置为开机启动
2、在从节点上进行时间同步
3、安装 MySQL 数据库。
在 Master、Slave1、Slave2上安装。略
启动MySQL服务,为root用户设置密码
4、配置MySQL Master主服务器
在/etc/my.cnf中修改或者增加下面内容
重启MySQL服务
登录MySQL程序,给从服务器以授权
File列显示日志名,Position列显示偏移量,这两个值在后面配置从服务器的时候需要。Slave应从该点在Master上进行新的更新。
5、配置从服务器
在/etc/my.cnf中修改或者增加下面内容
登录MySQL,配置同步
查看Slave状态,确保以下两个值为Yes
三、搭建MySQL读写分离
1、在主机Amoeba上安装Java环境
增加以下配置
2、安装并配置Amoeba软件
3、配置Amoeba读写分离,两个Slave读负载均衡
Master、Slave1、 Slave2中开放权限给Amoeba访问
编辑amoeba.xml配置文件
编辑amoeba.xml配置文件
启动Amoeba软件
4、测试
在Client主机上