当数据访问量过大的时候,缓解数据库访问压力,除了添加缓存机制之外就是搭建数据库集群了,通常是秉着读写分离的原则搭建数据库集群。可这集群搭建好了之后,怎么保证这些个写的数据库里的数据和读的数据库里的数据保证一致呢?
且看下面的图,听我娓娓道来。
这个土里头的master就是指的负责写的数据库,而slave就是负责读访问的数据库。要想保证读写数据库里头的数据一致就必须实现主从复制,当然这个现在的mysql已经做好了,我们只要适当的进行配置就好了。
mysql主(称master)从(称slave)复制的原理:
1、master将数据改变记录到二进制日志(binarylog)中,也即是配置文件log-bin指定的文件(这些记录叫做二进制日志事件,binary log events)
2、slave将master的binary logevents拷贝到它的中继日志(relay log)
3、slave重做中继日志中的事件,将改变反映它自己的数据(数据重演)
说白了就是当主数据库进行增删改操作的时候,将这些个行为记录下来保存在二进制文件中,然后主从通信,从数据库拷贝主数据库的二进制文件并且进行解析,然后将变化执行到自己的数据库中。
主从配置的过程,在这里我就不一一赘述了,网上很多的教程。
我在这里就跟大家分享一下搭建集群的注意点:
1、主DB server和从DB server数据库的版本一致
2、主DB server和从DB server数据库数据一致[ 这里就会可以把主的备份在从上还原,也可以直接将主的数据目录拷贝到从的相应数据目录]
3、主DB server开启二进制日志,主DB server和从DB server的server_id都必须唯一
好了,今天的博客内容到这里就结束了,欢迎大家给我的博客留言。