什么是MySql主从复制和读写分离?
-
mysql的主从复制是一个异步的复制过程,底层是基于mysql数据库自带的二进制日志功能,就是一台或多台mysql数据库(slave,从库)从另一台mysql数据库(master,主库)进行日志的复制再解析日志并应用到自身,最终实现从库的数据和主库的数据保持一致。MySql数据库的主从复制是mysql自带功能,无需借助第三方工具。
-
主从复制、读写分离一般是一起使用的。目的很简单,就是为了提高数据库的并发性能。你想,假设是单机,读写都在一台MySQL上面完成,性能肯定不高。如果有三台MySQL,一台mater只负责写(update、delete、insert)操作,两台salve只负责读(select)操作,性能不就能大大提高了吗?
-
所以主从复制、读写分离就是为了数据库能支持更大的并发。随着业务量的扩展、如果是单机部署的MySQL,会导致I/O频率过高。采用主从复制、读写分离可以提高数据库的可用性。
注意:
从库可以有一个或多个。
mysql的主从复制过程
- master将改变记录到二进制日志(binary log)。
- slave将master的binary log拷贝到它的中继日志(relay log)。
- slave重做中继日志(relay log)中的事件,将改变应用到自己的数据库中。