MYSQL的主从同步
提高数据库的数据高并发访问,可以对数据库进行主从架构的设置。(优化数据库索引和SQL语句、采用缓存策略、主从架构,进行读写分离)主从同步的好处
- 提高数据库的吞吐量
- 实现读写分离,通过主从复制的方式来同步数据,然后通过读写分离提高数据库并发处理能力。(客户端读取数据时,会从从库上进行读取,主库上进行数据更新时,会自动将数据复制到从库)
- 数据备份。从库相当于主库的备份
- 高可用性。数据的高可用性,当主数据库出现故障时,可以切换到从服务器上,保证服务的正常运行。
主从同步的原理怎样
- binlog二进制日志,记录了对数据库进行更新的事件,是主从同步的核心
- 三个线程,一个主库线程,两个从库线程
- 从库线程(I/O线程)进行连接时,发送请求更新Binlog,二进制日志转储线程会将二进制日志发送给从库,当主库读取事件时,会在Binlog上加锁,读取完后,才释放锁。这时,从库的线程可以读取二进制日志转储线程发送的Binlog更新部分,并拷贝到本地形成中继日志(relay log)
- 从库SQL线程读取从库中的中继日志,并执行日志中的事件,从而将从库和主库保持一致
如何解决主从同步的数据一致性问题
-
异步复制
客户端提交comm