zoukankan      html  css  js  c++  java
  • CentOS6.2(64bit)下mysql5.6.16主从同步配置

    1、 主配置,进入mysql.cnf在[mysqld]下面添加以下配置

    [root@localhost ~]# vi /etc/mysql.cnf

    server-id=1

    binlog-format=row  #二进制格式改为行row模式,三种模式statement语句模式,row行模式,mixed混合模式。当设置隔离级别为READ-COMMITED必须设置二进制日志格式为ROW,现在MySQL官方认为STATEMENT这个已经不再适合继续使用;但mixed类型在默认的事务隔离级别下,可能会导致主从数据不一致;

    #添加以下这些选项

    log-bin=master-bin.log

    log-slave-updates=true                            #slave更新是否记入日志

    gtid-mode=on                                                  #启用gtid类型,否则就是普通的复制架构

    enforce-gtid-consistency=true                   # 强制GTID的一致性

    master-info-repository=TABLE                   # 主服信息记录库=/文件

    relay-log-info-repository=TABLE                 # 中继日志信息记录库

    sync-master-info=1                                        # 同步主库信息

    slave-parallel-workers=4                    # 从服务器的SQL线程数,要复制库数目相同

    binlog-checksum=CRC32                              #  校验码

    master-verify-checksum=1                          #  主服校验

    slave-sql-verify-checksum=1                       # 从服校验

    binlog-rows-query-log_events=1               # 二进制日志详细记录事件

    report-port=3306                                           # 提供复制报告端口

    port=3306                                                       #mysql的端口

    report-host=master           # 提供复制报告主机

    2、从服务器配置

    server-id=2

    binlog-format=row

    log-bin=slave-bin.log

    log-slave-updates=true

    gtid-mode=on

    enforce-gtid-consistency=true

    master-info-repository=TABLE

    relay-log-info-repository=TABLE

    sync-master-info=1

    slave-parallel-workers=4

    binlog-checksum=CRC32

    master-verify-checksum=1

    slave-sql-verify-checksum=1

    binlog-rows-query-log_events=1

    report-port=3306

    port=3306

    report-host=slave

    2、启动mysql,创建复制用户

    service mysql start;

    这里注意/etc/my.cnf/etc/init.d/mysql文件里的datadir设置要一致,不然启动会报错:

    [root@localhost tmp]# /etc/init.d/mysql start

    Starting MySQL..... ERROR! The server quit without updatingPID file (/var/lib/mysql/localhost.localdomain.pid).

    mysql> mysql -uroot -p123456;

    mysql> grant replication slave on *.* to cfwxa@'%' identified by '123456';

    4、查看主服务器状态信息:

    mysql> show master status;

     

    5、在主从服务器查看是否启动gtid功能

    show global variables like '%gtid%';

     

    ===============================================

    6、进入从库

    从库连接主库:

    mysql> change master tomaster_host='192.168.1.103', master_port=3306,master_user='cfwxa',master_password='123456',master_auto_position=1;

    7、启动slave

    mysql> start slave;

    注意:主服务器的防火墙中要开启mysql的端口,不然这里是连不上的。

    查看连接后从服务器状态:

    mysql> show slave statusG

    mysql>show processlist;

     

    4个复制线程,主库上同时创建4个数据库,每个数据库事务启动一个复制线程,这些复制线程可同时启动;

     

    8、测试主从库

    主库
    mysql>create database hellodb;

    mysql>show databases;

     

    查看从库
    mysql>show databases;


     

  • 相关阅读:
    Struts2(十六)Json
    Struts2(十五)实现文件上传
    Struts2(十四)拦截器实现权限管理
    Eclipse下link方式安装插件
    Struts2(十三)国际化-internationalization
    Struts2(十二)使用验证框架验证数据较验
    Struts2(十一)OGNL标签三与Struts2标签
    Struts2(十)OGNL标签二与Struts2标签
    Struts2(九)OGNL标签一与Struts2标签
    Elasticsearch 分词器
  • 原文地址:https://www.cnblogs.com/jasontec/p/9601637.html
Copyright © 2011-2022 走看看