为什么要做主从?
1、避免单点故障
2、读写分离提升性能
读操作:主库、从库都可以接收;从库缓解了主库的读压力,提高了主库的I/O性能,使数据库能支撑更大的并发
写操作:只由主服务器负责,然后主库会将写操作同步给从库。
为什么写操作只能在主库上呢?
为了避免同时写多个实例的数据不一致
问题
如果客户端对同一个数据前后修改了三次,每一次的修改请求都发送到不同的实例上,在不同的实例上执行,那么,这个数据在这三个实例上的副本就不一致
了(分别是v1、v2和v3)
而主从库模式
一旦采用了读写分离
,所有数据的修改只会在主库上进行,不用协调三个实例。主库有了最新的数据后,会同步给从库,这样,主从库的数据就是一致的
。
replicaof命令实现主从
例如,现在有实例1(ip:172.16.19.3)和实例2(ip:172.16.19.5),我们在实例2上执行以下这个命令后,实例2就变成了实例1的从库,并从实例1上复制数据:
replicaof 172.16.