浅谈MySQL之备份复制 Master-Slave
在我们日常的数据库开发中,由于业务产品的需要,会涉及到数据库的备份,以下将会详细分析数据库的备份原理
1:数据库的主从备份流程图
2:流程讲解
:对于javaer操作数据库而言,我们一般是使用jdbc的,在存在主从的数据库架构中,一般会有Master,Slave服务器,在使用jdbc操作数据库的时候,一般都是对Master服务器进行读写的(少数情况下会读),此时Master会生成一个binlog文件(数据库的二进制日志文件),当有slave服务器连接的时候,Master服务器会启动一个i/o线程主动的向slave服务器推送master_binlog文件,然后slave服务器会新启一个i/o线程来接受Master服务器推送过来的master_binlog,整个过程完成后,会形成ready_binlog文件,以供slave服务器新启的一个sql线程来执行这个ready_binlog文件,从而达到数据同步的目的。
3:数据库同步的三种方式
3.1:statement (默认)
master服务器每执行一条sql语句都会写入到master_binlog中,单位是sql语句,和jdbc中的statement很像
3.2:row
将master服务器更改过影响的行数据会写入到master_binlog中
3.3:mix
是statement和row的混合