在数据库集群架构中,让主库负责处理事务性查询,而从库只负责处理 select 查询,让两者分工明确达到提高数据库整体读写性能。当然,主数据库另外一个功能就是负责将事务性查询导致的数据变更同步到从库中,也就是写操作。
读写分离的好处:
1)分摊服务器压力,提高机器的系统处理效率
2)增加冗余,提高服务可用性,当一台数据库服务器宕机后可以调整另外 一台从库以最快速度恢复服务
主从复制原理 :
依赖于二进制日志,binary-log. 二进制日志中记录引起数据库发生改变的语句 Insert 、delete、update、create table
环境搭建
1. 准备环境
两台 linux 操作系统 ip 分别为: 192.125.25.128(主)、192.125.25.129(从)
2. 连接到主服务(192.125.25.128)服务器上,给从节点分配账号权限。
GRANT REPLICATION SLAVE ON *.* TO 'root'@'192.125.25.129' IDENTIFIED BY 'root';
3. 在主服务 my.ini 文件新增
server-id=200
log-bin=mysql-bin
relay-log=relay-bin
relay-log-index=relay-bin-index
重启 mysql 服务
4. 在从服务 my.ini 文件新增
server-id = 210
replicate-do-db =itmayiedu #需要同步数据库
重启 mysql 服务
5. 从服务同步主数据库
stop slave;
change
master to master_host='192.125.25.128',master_user='root',master_password='root';
start slave;
show slave status;