• mysql之主从复制


    
    

    一、用途及条件

     mysql主从复制用途
    • 实时灾备,用于故障切换
    • 读写分离,提供查询服务
    • 备份,避免影响业务
     主从部署必要条件:
    • 主库开启binlog日志(设置log-bin参数)
    • 主从server-id不同
    • 从库服务器能连通主库

    二、主从复制的原理

    mysql主从复制原理
     
    从库生成两个线程,一个I/O线程,一个SQL线程;
     
    i/o线程去请求主库 的binlog,并将得到的binlog日志写到relay log(中继日志) 文件中;
    主库会生成一个 log dump 线程,用来给从库 i/o线程传binlog;
     
    SQL 线程,会读取relay log文件中的日志,并解析成具体操作,来实现主从的操作一致,而最终数据一致;
     

    三、配置主从复制

    1.配置server-id

    [root@ping ~]# egrep "server-id" /etc/my.cnf
    server-id=1
    2.授权用户,用于同步主的数据
    mysql> grant replication slave on *.* to 'rep'@'192.168.100.%' identified by '123456'
    

    3.导出主的数据库到当前目录

    [root@master ~]# mysqldump -uroot -p123456 --events -A -B --single-transaction --master-data=1 > `date "+F"`-all.sql
    

    4.查看授权用户是否在user表中创建  

    mysql> select concat_ws('@',user,host) from mysql.user;
    +--------------------------+
    | concat_ws('@',user,host) |
    +--------------------------+
    | ping@192.168.100.%       |
    | rep@192.168.100.%        |
    | root@ping.cn             |
    +--------------------------+
    

    5.将内存中的数据刷新到磁盘

    mysql> flush privileges;
    

    6.配置从服务器server-id  

    [root@slave1 ~]# egrep "server-id" /etc/my.cnf
    server-id=2
    

    7.配置

    mysql> change master to  master_host='192.168.100.6', master_user='rep', master_password='123456';
    

    8.将备份的主库文件导入到从服务器中

    mysql>source /root/2018-02-26-all.sql

    9.开启从服务

    mysql>start slave
    

    10.查看从服务状态

    mysql> show slave statusG;
     Slave_IO_Running: Yes
     Slave_SQL_Running: Yes
    

     

    四、测试 

    1.删除主服务器数据库

    mysql> drop database test;
    Query OK, 0 rows affected (0.01 sec)
    

    2.查看从服务器数据库

    mysql> show databases;
    +------------------------------+
    | Database                     |
    +------------------------------+
    | information_schema           |
    | mysql                        |
    | performance_schema           |
    +------------------------------+
    5 rows in set (0.00 sec)
    

      

      

      

     

  • 相关阅读:
    streamsets 集成 cratedb 测试
    streamsets k8s 部署试用
    streamsets rest api 转换 graphql
    StreamSets sdc rpc 测试
    StreamSets 相关文章
    StreamSets 多线程 Pipelines
    StreamSets SDC RPC Pipelines说明
    StreamSets 管理 SDC Edge上的pipeline
    StreamSets 部署 Pipelines 到 SDC Edge
    StreamSets 设计Edge pipeline
  • 原文地址:https://www.cnblogs.com/pingzhe/p/8473067.html
Copyright © 2020-2023  润新知