MySQL5.6默认使用innodb为存储引擎,在复制功能上MySQL5.6引入了GTID(Global Transaction IDs)新特性,这使得5.6复制功能的配置、监控及管理变得更加易于实现,且更加健壮。

一、实现环境

    centos

    master:172.16.20.245

    slave:172.16.20.219

    两数据库均是新安装

二、master安装配置

     1master修改配置文件

     #vim /etc/my.cnf

     [mysqld]     

     binlog-format=ROW       #二进制日志格式

     log-bin=master-bin      #启动二进制日志

     log-slave-updates=true  #从服务器将从主服务器收到的更新操作记录进本机的二进制日志中

     gtid-mode=on            #开启gtid功能

     enforce-gtid-consistency=true  

     master-info-repository=TABLE     #可用于实现在崩溃时保证二进制及从服务器安全的功能

     relay-log-info-repository=TABLE  #同上

     sync-master-info=1               #启用之可确保无信息丢失

     slave-parallel-workers=2         #设定从服务器的SQL线程数;0表示关闭多线程复制功能

     binlog-checksum=CRC32            #对二进制日志进行校验

     master-verify-checksum=1         #启用校验

     slave-sql-verify-checksum=1      #启用校验

     binlog-rows-query-log_events=1   

     server-id=1

     report-port=3306

     port=3306

     report-host=172.16.20.245     

     #service mysqld restart

     2创建复制用户

     mysql>grant replication slave on *.* to 'user'@'172.16.20.%' identified by 'password';

     mysql>flush privileges;

三、slave安装配置

    1slave修改配置文件

    #vim /etc/my.cnf

    [mysqld] 

    binlog-format=ROW       #二进制日志格式

    log-bin=slave-bin      #启动二进制日志

    log-slave-updates=true  #从服务器将从主服务器收到的更新操作记录进本机的二进制日志中

    gtid-mode=on            #开启gtid功能

    enforce-gtid-consistency=true  

    master-info-repository=TABLE     #可用于实现在崩溃时保证二进制及从服务器安全的功能

    relay-log-info-repository=TABLE  #同上

    sync-master-info=1               #启用之可确保无信息丢失

    slave-parallel-workers=2         #设定从服务器的SQL线程数;0表示关闭多线程复制功能

    binlog-checksum=CRC32            #对二进制日志进行校验

    master-verify-checksum=1         #启用校验

    slave-sql-verify-checksum=1      #启用校验

    binlog-rows-query-log_events=1   

    server-id=10

    report-port=3306

    port=3306

    report-host=172.16.20.219  

     2启动复制

     mysql> CHANGE MASTER TO 

     MASTER_HOST='172.16.20.245', 

     MASTER_USER='user', 

     MASTER_PASSWORD='password', 

     MASTER_AUTO_POSITION=1;

     mysql>start slave