MySql主从复制 Master-slaver

通过阅读网上以及书本知识的总结:仅为学习记录,有误请大家指出。

Mysql自身提供了主从复制功能,可以比较方便实现数据的多处自动备份。

主从复制有点:多处的数据备份保证了数据的安全性,同时通过数据库的读写分离进一步的提升数据库的负载性能。

以下是多个数据库间主从复制与读写分离的模型:

    

在主从的数据库体系中,多个服务器采用异步的方式更新主服务器的变化。业务服务器在对数据库执行写或者修改的操作是在主服务器上的,读操作是在从服务器上,这样就实现了读写分离。但是如果配置多台主服务器或者从服务器,又会涉及到负载的问题。

主从复制的实现原理:


mysql之间复制数据的基础是二进制文件。一台服务器一旦启用二进制文件后,作为主服务器(master),数据库的所有操作会以事件的方式存储在二进制文件中,其他从服务器(slaver)通过I/O线程和主服务器保持通信,并监控到二进制文件变化,则会把二进制文件发生的变化复制到自己的中继日志中,然后mysql的一个线程会把发生的变化执行到自己的数据库中,这样实现了主从复制的数据一致性同样也实现了数据库的主从复制。

实现mysql的主从复制主要是靠配置:

  主服务器       1.  开启二进制文件

                        2. 配置唯一的server_id

                        3.获得二进制文件的文件名和位置

                        4..创建master 和slaver 的通信账号

从服务器          1 设置唯一server_id

                        2  使用master分配的账号读取master的二进制日志

                        3 启动slave服务

具体操作,晚上回去试试,在继续更新。