zoukankan      html  css  js  c++  java
  • mysql主从同步

    原理:

      master记录数据更改操作

        - 启用binlog日志
        - 设置binlog日志格式
        - 设置server_id

      slave运行2个线程

        - Slave_IO:复制master主机binlog日志文件里面的SQL到本机的relay-log文件里
        - Slave_SQL:执行本机的relay-log文件里的SQL语句,重现master的数据操作


    构建:


      确保数据相同


      配置主服务器master

        1.修改/etc/my.cnf

    [mysqld]
    log_bin=master0    //启用binlog日志,并指定文件名前缀
    server_id = 10 //指定服务器ID号
    binlog-format='mixed'    //指定日志格式(row,statement,mixed)
    View Code

        2.创建授权用户

    mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.4.%' IDENTIFIED BY 'pwd123';
    View Code

        3.查看master同步状态(当前日志文件名、偏移位置)

    mysql> SHOW MASTER STATUSG;
    mysql> show slave hosts;                    # 查看当前从库
    View Code

      

      配置从服务器slave

        1.修改/etc/my.cnf

    [mysqld]
    log_bin=slave1    //启动SQL日志,并指定文件名前缀
    server_id = 20 //指定服务器ID号,不要与Master的相同
    binlog-format='mixed'    
    # log_slave_updates //允许级联复制,主从从结构使用
    View Code

        2.连接master

    mysql> CHANGE MASTER TO MASTER_HOST='192.168.4.10', # 主库对应的ip
    -> MASTER_USER='repl',
    -> MASTER_PASSWORD='pwd123',
    -> MASTER_LOG_FILE='dbsvr1-bin.000001', //对应Master的日志文件
    -> MASTER_LOG_POS=0; //对应Master的日志偏移位置
    View Code

        3.启动slave

    mysql> start slave;
    View Code

        4.查看slave(IO和SQL线程的状态)

    mysql> show slave statusG;
    View Code

    常用配置

      master服务器

        [mysqld]

        binlog_do_db=name      # 设置master对哪些库记录日志
        binlog_ignore_db=name    # 设置master对哪些库不记录日志

      slave服务器

        [mysqld]

        log_slave_updates     # 记录从库更新,允许链式复制(A—B—C)

        relay_log=file_name     # 指定中继日志文件名

        replicate_do_db=db_name    # 复制指定库,可设置多条

        replicate_ignore_db=db_name  # 不复制哪些库,与do-db 选一种即可        

  • 相关阅读:
    Elasticsearch搜索引擎学习笔记(二)
    Elasticsearch搜索引擎学习笔记(一)
    Redis集群(cluster模式)搭建(三主三从)
    Redis主从、哨兵
    oracle 数据查询 返回树形结构的每一级的id
    oracle 数据库查询 COALESCE字符函数
    java 生成不重复的6位数字 +年月日
    oracle 数据库查询CLOB类型 报错 【ORA-00932: 数据类型不一致: 应为 -, 但却获得 CLOB】
    oracle 数据表结构和数据 导入 导出
    sql 创建数据库表结构
  • 原文地址:https://www.cnblogs.com/ray-mmss/p/10338250.html
Copyright © 2011-2022 走看看