主从复制可以使MySQL数据库主服务器的主数据库,复制到一个或多个MySQL从服务器从数据库,默认情况下,复制异步; 根据配置,可以复制数据库中的所有数据库,选定的数据库或甚至选定的表。横向扩展解决方案:在多个从库之间扩展负载以提高性能。在这种环境中,所有写入和更新在主库上进行。但是,读取可能发生在一个或多个从库上。该模型可以提高写入的性能(由于主库专用于更新),同时在多个从库上读取,可以大大提高读取速度。
1.软件环境
Mysql版本:MySQL 5.7.20
Master-Server : 192.168.1.13
Slave-Server : 192.168.1.15
2. Master-Server 配置
修改 my.cnf
配置 Master 以使用基于二进制日志文件位置的复制,必须启用二进制日志记录并建立唯一的服务器ID,否则则无法进行主从复制。
要确保配置前,两台服务器的数据是一样的
停止MySQL服务[root@XiaoFeng ~]# service mysqld stop
修改 my.cnf 开启binlog ,每台设置不同的 server-id[root@XiaoFeng ~]# vim /etc/my.cnflog-bin=mysql-bin
server-id=13 #MySQLid 后面从服务器需设置不同,我这里用的IP后两位
#要复制的数据库
binlog-do-db=data
binlog-do-db=yan
#自动清理7天前的log文件
expire_logs_days=7
启动MySQL服务[root@XiaoFeng ~]# ser