Mysql主备复制原理探究

工作原理
- 由master执行过得sql语句记录到二进制日志(binlog)文件中,(这些记录叫做二进制日志事件,binary log events,可以通过show binlog events进行查看);
- 将binlog传到slave,当中使用IO Thread,且binlog文件的保存时间可以在my.cnf进行配置。expire_logs_days=7,将binlog保存为7天。也存在binlog占用磁盘空间过大的问题,对此有了binlog有三种格式:Statement、Row以及Mixed:
Statement:每一条会修改数据的sql都会记录在binlog中。
Row:不记录sql语句,而是记录具体哪条数据做了修改。
Mixed:以上两种模式的混合使用,具体不太懂……
有个重建IO Thread的方式,是
stop slave;
reset slave;
change master to
master_host = '<MasterDBIP>',
master_post = '<dbPort>',
master_auto_position = 1;
start slave USER = ’Repl_slave_priv权限’;
Password = ‘.....’
Set global read_only = true;
3.SQL Thread 将binlog文件转化为relaylog,在备实例中,同步数据。

浙公网安备 33010602011771号