码迷,mamicode.com
首页 > 数据库 > 详细

实现MYSQL的主从复制

时间:2018-03-19 22:41:39      阅读:250      评论:0      收藏:0      [点我收藏+]

标签:MySQL主从复制   linux   数据库   

一、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主从复制   linux   数据库   

原文地址:http://blog.51cto.com/12879627/2088758

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!