【MYSQL】读写分离【自我复习版】
读写分离就是根据主从机制,实际上就是先将主节点插入数据会先备份到binlog中,然后从节点的IOThread会读取主节点的binlog存入自己的relaylog里,然后SQLThread会读取realaylog的数据然后存储到自己的从节点的硬盘中。所以先配置好主从机制,然后读写分离,实际上就是为了避免DML操作过慢导致查询速度下降,所以将主节点作为DML操作的库,然后把从节点当做DQL操作的库。
可以通过业务分类操作不同的库,这也侵入性强实现起来代码比较繁琐,不好后续维护,可以根据mycat,应用程序不用连接mysql,然mycat连接mysql,将sql语句发送给mycat,让mycat将不同sql路由给不同库,如果是DQL就发送给从节点,DML操作就走从节点,从而实现读写分离。
在mycat中的虚拟库中设置一个节点,在节点力的datahost里设置一个writehost这个里面配置主库,然后再readhost里配置从库信息,然后再datahost里的负载均衡策略里的配置设置为1或者3,0 是不开启2是随机路由读写sql给主从节点。
但是如果此时主节点宕机了,此时读操作可以进行因为从节点的服务还正常,但是如果此时进行插入操作就不行,因为主库失效,mycat也不能将sql路由到数据库了。所以就不能保证数据库的高可用。可以使用双主双从读写分离,主数据库读写分离库挂掉,备选数据库会顶上,并且数据库更新会将其他三个数据库同时更新
原文地址:https://blog.csdn.net/m0_64022419/article/details/143810979
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!