darkpoon 发表于 2018-10-6 09:14:42

实现MYSQL的主从复制

  一、MYSQL 主从复制原理
  1、在每个事务更新数据完成之前,master在二进制日志记录这些变化。写入二进制日志完成后,master通知存储引擎提交事务。
  2、slave将master的binary log复制到其中继日志。slave开始一个工作线程--I/O线程,I/O线程在master上打开一个普通的连接,然后开始binlog dump process。binlogdump 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.验证主从复制



页: [1]
查看完整版本: 实现MYSQL的主从复制