实现MYSQL的主从复制
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实现MYSQL的主从复制相关的知识,希望对你有一定的参考价值。
一、mysql 主从复制原理
1、在每个事务更新数据完成之前,master在二进制日志记录这些变化。写入二进制日志完成后,master通知存储引擎提交事务。
2、slave将master的binary log复制到其中继日志。slave开始一个工作线程--I/O线程,I/O线程在master上打开一个普通的连接,然后开始binlog dump process。binlog dump process从master的二进制日志中读取事件,如果已经连接上master,它会睡眠并等待master产生新的事件,I/O线程将这些事件写入中继日志。
3、SQL从线程处理该过程的最后一步,sql线程从中继日志读取事件,并重放其中的事件而更新slave的数据,使其与master中的数据一致。
二、实现主从复制
1、实现时间同步
启动ntp服务,实现开机自动启动
修改/etc/ntpd.conf,添加两项
server 192.168.1.20 //手工写 需要同步的上层服务器
fudge 192.168.1.20 stratum 8 //手工写 同步上层服务器的stratum,大小不能超过或等于16
获取ntp服务器时间
时间同步
2、配置MySQL主master服务器
修改配置文件my.cnf
授予复制权限
flush privileges 命令本质上的作用是将当前user和privilige表中的用户信息/权限设置从mysql库(MySQL数据库的内置库)中提取到内存里。MySQL用户数据和权限有修改后,希望在"不重启MySQL服务"的情况下直接生效
file列显示日志名,position列显示偏移量
3、配置从服务器slave
修改/etc/my.cnf
默认情况,中继日志使用host_name-relay-bin.nnnnnn形式的文件名,其中host_name是从服务器主机名,nnnnnn是序 列号。用连续序列号来创建连续中继日志文件,从000001开始。从服务器跟踪索引文件中目前正使用的中继日志。
默认中继日志索引文件名为host_name-relay-bin.index。默认情况,在从服务器的数据目录中创建这些文件。
配置同步登陆MySQL
4.验证主从复制
以上是关于实现MYSQL的主从复制的主要内容,如果未能解决你的问题,请参考以下文章
MySQL:主从复制结构双主复制结构利用SSL实现安全的MySQL主从复制