实现环境:
  Master 主:192.168.100.165 (Mysql 5.6.36)
  Slave 从 :192.168.100.156 (Mysql 5.6.36)

步骤
1.在主DB服务器上建立复制账号 (在Master上执行)
  # mysql
  mysql> CREATE USER 'rpl'@'192.168.100.%' identified by '123456';
  mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.100.%';

2.主服务器配置 (在Master上执行)
  # vim /etc/my.cnf
    [mysqld]
    basedir = /usr/local/mysql
    datadir = /data/mysql
    port = 3306

    # binary logging #
    log-bin = /data/mysql/log-bin #启动二进制日志

    # replice #
    server_id = 165 #指定服务ID

3.从服务器配置 (在Slave上执行)
  # vim /etc/my.cnf
    [mysqld]
    basedir = /usr/local/mysql
    datadir = /data/mysql
    port = 3306

    # binary logging #
    log-bin = /data/mysql/mysql-bin #启动二进制日志

    # replice #
    server-id = 156 #指定服务ID
    relay_log = /data/mysql/relay-bin #启动中继日志
    #log_slave_update = on #在中继日志执行后写入到二进制日志中
    #read_only = on #开启只读模式

4.重启主MYSQL (在Master上执行)
  # service mysqld restart
  # #添加一些测试数据用于验证结果
  # mysql
  mysql> CREATE DATABASE CHEN;
  mysql> USE CHEN;
  mysql> CREATE TABLE T1 (ID INT);
  mysql> INSERT INTO T1 VALUES (1),(2),(3);
  mysql> \q

5.重启从MYSQL (在Slave上执行)
  # service mysqld restart

6.备份主数据库(如果主从上的数据库版本一样,可以全备) (在Master上执行)
  # mysqldump --single-transaction --master-data --triggers --routines --all-databases >> /root/165_full.sql
  # #记录MASTER_LOG_FILE和MASTER_LOG_POS 的值;
  # more /root/165_full.sql #找到这样一句话:CHANGE MASTER TO MASTER_LOG_FILE='log-bin.000003', MASTER_LOG_POS=520;

7.将主数据库备份传输到从数据库中 (在Master上执行)
  # scp /root/165_full.sql root@192.168.100.156:/root

8.将主数据库的备份导入到从数据库中 (在Slave上执行)
  # mysql -uroot -p < /root/165_full.sql

9.初始复制链路 (在Slave上执行)
  # mysql
  mysql> change master to master_host='192.168.100.165',
    -> master_user='repl',
    -> master_password='123456',
    -> MASTER_LOG_FILE='log-bin.000003' #从备份中查找
    -> MASTER_LOG_POS=520; #从备份中查找

10.启动当检查结果
  mysql> start slave; (在Slave上执行)

  mysql> show slave status \G (在Slave上执行) 进程启动
  mysql> show processlist; (在Slave上执行) 两个系统进程
  mysql> show processlist; (在Master上执行) 一个系统进行

  mysql> SELECT * FROM `chen`.t1; (在Master上执行) 查检结果是否一致
  mysql> SELECT * FROM `chen`.t1; (在Slave上执行) 查检结果是否一致

  mysql> INSERT INTO `chen`.t1 VALUES (4); (在Master上执行)

  mysql> SELECT * FROM `chen`.t1; (在Master上执行) 查检结果是否一致
  mysql> SELECT * FROM `chen`.t1; (在Slave上执行) 查检结果是否一致

如果都没有问题,那就OK啦

Mysql 基于日志点的主从复制(实操)的更多相关文章

  1. Mysql 基于GTID的主从复制(实操)

    实现环境: Master 主:192.168.0.102 (Mysql 5.6.36) Slave  从 :192.168.0.103 (Mysql 5.6.36) 步骤1.在主DB服务器上建立复制账 ...

  2. redis实操-sentinel

    本文主要记录一些操作步骤,作为自己学习的一个记录,也供虚拟机上学习redis的人参考. 实操篇,可以参考 http://redis.cn/ 主从复制实操 在test目录下新建配置进行练习 1.mkdi ...

  3. 实操重写IK分词器源码,基于mysql热更新词库

    实操重写IK分词器源码,基于mysql热更新词库参考网址:https://blog.csdn.net/wuzhiwei549/article/details/80451302 问题一:按照这篇文章的介 ...

  4. (转)MySQL 主从复制搭建,基于日志(binlog

    原文:http://blog.jobbole.com/110934/ 什么是MySQL主从复制 简单来说,就是保证主SQL(Master)和从SQL(Slave)的数据是一致性的,向Master插入数 ...

  5. Mysql MHA(GTID)配置(实操)

    实现环境 centos6.7 MYSQL5.6.36 主:192.168.1.191 从1:192.168.1.145 从2:192.168.1.146 监测:放在从2上 192.168.1.146 ...

  6. Docker安装MySql完整教程、实操

    docker:官网 docker:镜像官网:        镜像官网可以所有应用,选择安装环境:会给出安装命令,例如:docker pull redis 默认拉取最新的版本(指定版本:docker p ...

  7. MySQL5.6主从复制搭建基于日志(binlog)

    什么是MySQL主从复制 简单来说,就是保证主SQL(Master)和从SQL(Slave)的数据是一致性的,向Master插入数据后,Slave会自动从Master把修改的数据同步过来(有一定的延迟 ...

  8. Mysql5.7基于日志主从复制

    主从同步概念 主从同步是异步复制 Mysql两种复制类型: 基于二进制日志 使用GTID完成基于事务的复制 基于日志三种方式: Mysql5.7需要注意的问题: 老版本方法创建mysql用户 #mys ...

  9. mysql -- mysql基于ssl的主从复制

    mysql基于ssl的主从复制由于mysql在复制过程中是明文的,所以就大大降低了安全性,因此需要借助于ssl加密来增加其复制的安全性. 主服务器node1:172.16.200.1从服务器node2 ...

随机推荐

  1. juggle dsl语法介绍及codegen浅析

    juggle语法规范如下: 类型: bool -> in cpp bool int -> in cpp int64 float -> in cpp double string -&g ...

  2. 【Android Developers Training】 89. 最大化的使用谷歌云消息(Google Cloud Messaging)

    注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...

  3. 6.解决AXIOS的跨域问题

    在服务端加上: response.addHeader("Access-Control-Allow-Origin", "*"); response.addHead ...

  4. 如何在新浪sae服务器上面连接redis

    1.创建php空应用 2.选择

  5. Python系列教程(三):输入和输出

    1.1 raw_input() 在Python中,获取键盘输入的数据的方法是采用 raw_input 函数(至于什么是函数,咱们以后的章节中讲解),那么这个 raw_input 怎么用呢? 看如下示例 ...

  6. Django 学习笔记(二)

    Django 第一个 Hello World 项目 经过上一篇的安装,我们已经拥有了Django 框架 1.选择项目默认存放的地址 默认地址是C:\Users\Lee,也就是进入cmd控制台的地址,创 ...

  7. 几个SQL语句(备忘)

    1.三涨停 select biao1.代码,biao1.名称 from biao1,biao2,biao3 where (biao1.涨幅+ biao2.涨幅+biao3.涨幅)>0.27 an ...

  8. Python的元类

    1.用元类验证子类 每当我们定义新类的时候,元类就会运行雅正代码,以确保这个新类符合规定的规范. Python系统把子类的class语句处理完毕,就会调用元类的 __new__ 方法.元类可以通过 _ ...

  9. spring注解@service("service")括号中的service有什么用

    相当于 xml配置中得 bean id = service 也可以不指定 不指定相当于 bean id = com. service.service 就是这个类的全限定名 好处是:同一个接口可以有多个 ...

  10. hdu_3336: Count the string(KMP dp)

    题目链接 题意:求给定字符串中,可以与某一前缀相同的所有子串的数量 做这道题需要明白KMP算法里next[]数组的意义 首先用一数组nex[](这里与之前博客中提到的next明显不同)存储前缀后缀最长 ...