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 status\G

 

mysql>show processlist;

 

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

 

8、测试主从库

主库
mysql>create database hellodb;

mysql>show databases;

 

查看从库
mysql>show databases;


 

posted @ 2014-09-20 18:22  問天  阅读(156)  评论(0编辑  收藏  举报