MySQL5.6.x 基于GTID的多线程复制-安装配置

操作系统:

RHEL6 Or CentOS6 x86_64

mysql 版本:

mysql-5.6.20

服务器IP:

10.57.1.131 MySQL-Master
10.57.1.132 MySQL-Slave

一、yum安装mysql

# 下载mysql的rpm包

mkdir -pv /root/soft
cd /root/soft

#这里提供三个版本的官方64位rpm下载路径,根据自己的系统平台选择对应的rpm下载

# RHEL6 And CentOS6 x86_64 的rpm包

wget http://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-shared-compat-5.6.20-1.el6.x86_64.rpm
wget http://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-test-5.6.20-1.el6.x86_64.rpm
wget http://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-devel-5.6.20-1.el6.x86_64.rpm
wget http://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-client-5.6.20-1.el6.x86_64.rpm
wget http://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-server-5.6.20-1.el6.x86_64.rpm
wget http://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-shared-5.6.20-1.el6.x86_64.rpm
wget http://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-embedded-5.6.20-1.el6.x86_64.rpm

# RHEL5 And CentOS5 x86_64 的rpm包

wget http://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-embedded-5.6.20-1.rhel5.x86_64.rpm
wget http://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-shared-compat-5.6.20-1.rhel5.x86_64.rpm
wget http://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-test-5.6.20-1.rhel5.x86_64.rpm
wget http://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-devel-5.6.20-1.rhel5.x86_64.rpm
wget http://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-client-5.6.20-1.rhel5.x86_64.rpm
wget http://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-server-5.6.20-1.rhel5.x86_64.rpm
wget http://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-shared-5.6.20-1.rhel5.x86_64.rpm

# RHEL7 And CentOS7 x86_64 的rpm包

wget http://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-shared-compat-5.6.20-1.el7.x86_64.rpm
wget http://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-test-5.6.20-1.el7.x86_64.rpm
wget http://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-devel-5.6.20-1.el7.x86_64.rpm
wget http://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-client-5.6.20-1.el7.x86_64.rpm
wget http://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-server-5.6.20-1.el7.x86_64.rpm
wget http://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-shared-5.6.20-1.el7.x86_64.rpm
wget http://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-embedded-5.6.20-1.el7.x86_64.rpm

# 注意上面三项只下载一项即可
# 各rpm包简介

MySQL-server: mysql

# mysql官方提供了7个rpm,当然并不是所有的包都安装的,根据自己的需要选择性的安装刚才下载的几个rpm包

# 一般来说安装 MySQL-server、MySQL-client、MySQL-devel、MySQL-shared、MySQL-shared-compat 这几个rpm包已经足够了,安装如下

# 安装所下载的rpm包

yum localinstall MySQL-server* MySQL-client* MySQL-shared* MySQL-shared-compat* MySQL-devel*

# 将mysql服务设置开机自动启动

chkconfig --add mysql
chkconfig mysql on

# 建立mysql数据目录

mkdir -p /data/mysql/data

# 启动mysql服务

server mysql start

二、基于mysql-5.6.x的GTID的多线程复制

1、配置 Master节点

vim /etc/my.cnf

# 内容如下, End结束

[mysqld]
# mysql服务器监听的端口
port=3306
# 套接字文件路径
socket=/data/mysql/data/mysql.sock
# 数据存储路径
datadir=/data/mysql/data/
# 启用bin-log日志
log-bin=master-bin
# binlog日志的格式
binlog-format=ROW
# 服务器ID 在主从或主主等环境中的id值一定要是全局唯一的
server-id=1
# 关闭dns解析
skip-name-resolve
# 从服务器是否将事件的写操作的信息记录到日志中
log-slave-updates=true
# 是否启用GTID的功能
gtid-mode=on
# 是否强制GTID的一致性
enforce-gtid-consistency=true
# show slave hosts; 所显示的ip及端口
report-port=3306
report-host=10.57.1.131
# slave logs master status and connection information
# slave logs ,master status,和连接信息 是记录在文件(FILE)中还是表(TABLE)中
master-info-repository=TABLE
relay-log-info-repository=TABLE
# 同步master-info信息
sync-master-info=1
# 从服务器的sql线程数,值最好跟数据库的个数一致,0表示禁用多线程功能
slave-parallel-workers=2
# 是否校验binlog日志的完整性,以下三个选项是启用在复制功能中的校验功能
binlog-checksum=CRC32
master-verify-checksum=1
slave-sql-verify-checksum=1
# 启用用于在而进制日志记录事件的相关信息,可降低故障排除的复杂度
binlog-rows-query-log_events=1
[mysqld_safe]
log-error=/var/log/mysqld.log
[client]
socket=/data/mysql/data/mysql.sock 
# End

# 初始化mysql数据库

/usr/bin/mysql_install_db --user=mysql --datadir=/data/mysql/data

# 重启mysql服务

service mysqld restart

# 创建复制用户

mysql> GRANT REPLICATION SLAVE ON *.* TO [email protected]"10.57.1.131" IDENTIFIED BY ‘redhat‘;
mysql> FLUSH PRIVILEGES;

2、配置Slave节点

vim /etc/my.cnf

# 内容如下, End结束

[mysqld]
datadir=/data/mysql/data
port=3306
socket=/data/mysql/data/mysql.sock
log-bin=mysql-bin
server-id=2
slave-parallel-workers=2
binlog-format=ROW
log-slave-updates=true
gtid-mode=on 
enforce-gtid-consistency=true
master-info-repository=TABLE
relay-log-info-repository=TABLE
sync-master-info=1
binlog-checksum=CRC32
master-verify-checksum=1
slave-sql-verify-checksum=1
binlog-rows-query-log_events=1
report-port=3306
report-host=10.57.1.132
[mysqld_safe]
log-error=/var/log/mysqld.log
[client]
socket=/data/mysql/data/mysql.sock
# End

# 重启mysql服务

service mysqld restart
mysql> CHANGE MASTER TO MASTER_HOST=‘10.57.1.131‘, MASTER_USER=‘slave‘,MASTER_PASSWORD=‘redhat‘, MASTER_AUTO_POSITION=1;
mysql> START SLAVE;

3、测试
# 首先在主库上执行一个写操作,然后在从库上看有没有同步过来即可

时间: 2024-08-28 17:26:49

MySQL5.6.x 基于GTID的多线程复制-安装配置的相关文章

mysql主从复制--mysql-5.6基于GTID及多线程复制

GTID,Global Transaction Identifiers,全局事务标识符     由服务器的UUID和事务ID号组成一个唯一的标识.mysql 5.6后,事务首部会记录server UUID,追踪十分简单. UUID,Universally Unique Identifier,全局唯一标识符. A为master,B.C为slave,当A宕机时,B将成为New Master.C需将自己有的事务而B没有的事务复制给B,然后B才能成为Master. B和C双方事务的协商过程,由于GTID

MySQL主从复制--MySQL5.6基于GTID及多线程复制

大纲 一.系统环境 二.MySQL初始化安装过程 三.基于GTID的主从模式配置过程 一.系统环境 系统环境 CentOS5.8 x86_64 master.network.com    master    172.16.1.101 slave.network.com     slave     172.16.1.105 软件包 mysql-5.6.26-linux-glibc2.5-x86_64.tar.gz(二进制通用安装包) 拓扑图 二.MySQL初始化安装过程 1.时间同步 [[emai

mysql5.6 基于GTID及多线程复制详解

一 GTID 详解 官方文档:http://dev.mysql.com/doc/refman/5.6/en/replication-gtids.html在这篇文档里,我们可以知道全局事务 ID 的官方定义是:GTID = source_id:transaction_id MySQL 5.6 中,每一个 GTID 代表一个数据库事务.在上面的定义中,source_id 表示执行事务的主库 uuid(server_uuid),transaction_id 是一个从 1 开始的自增计数,表示在这个主库

MySQL-5.6.14基于GTID及多线程的复制

实验环境 RHEL-6.6-x86_64 两台主机 MASTER 192.168.1.5      hostname : master.mingxiao.info SLAVE 192.168.1.6         hostname : slave.mingxiao.info GTID简介 GTID(Global Transaction Identifier)是每一个事务提交时创建的一个全局唯一的标示符. GTID由UUID:TID组成. MySQL的UUID是怎么获得的呢?当启动MySQL时,

MySQL主从复制——MySQL-5.6基于GTID及多线程的复制

一.Mysql 5.6 新特性 .... 复制功能的改进 ⒈支持多线程复制,(slave-parallel-workers=0     0: 表示禁用多线程功能:)事实上是针对每个database开启相应的独立线程.即每个库有一个单独的(sql thread),如果线上业务中,只有一个database或者绝大多数压力集中在个别database的话,多线程并发复制特性就没有意义了. ⒉支持启用GTID,对运维人员来说应该是一件令人高兴的事情,在配置主从复制,传统的方式里,你需要找到binlog和P

mysql复制原理/基于库的多线程复制原理/基于BLGC的多线程复制原理

单线程主从复制: 从库向主库请求binlog,并将binlog转存到自己的relaylog中,从库重做binlog里面的sql, 主要由以下三个线程完成. dump thread: 在主库上,发送binlog io thread: 在slave上,接收,转存,请求binlog sql thread :在slave 上,重做binlog 基于库的多线程复制原理: 从库向主库请求binlog,并将binlog转存到自己的relaylog中,从库重做binlog里面的sql, 主要由以下三个线程完成.

CentOS6.8下MySQL5.6.40基于GTID主从及多线程复制

大纲 一 GTID简介 二 环境准备 三 数据库的安装 四 基于GTID主从配置步骤 五 验证GTID复制功能 一 GTID简介 GTID(Global Transaction ID)是对于一个已提交事务的编号,并且是一个全局唯一的编号.GTID实际上是由UUID+TID组成的.其中UUID是一个MySQL实例的唯一标识.TID代表了该实例上已经提交的事务数量,并且随着事务提交单调递增.下面是一个GTID的具体形式3E11FA47-71CA-11E1-9E33-C80AA9429562:23更详

mysql5.6,基于GTID的主从同步与延迟复制

GTID相关: 在mysql5.6之前,mysql主从复制是slave通过配置master的binlog位置实现的,且每一个slave自身的binlog却不同.而在mysql5.6版本后引入了GTID(全局事务标识符),这个值在master生成,slave只要在开启主从复制时指定master的用户,密码,就可获取master的GTID实现同步,而无需再每次去查看master的binlog位置,大大方便了主从同步的配置.GTID的唯一性强化了数据的主备一致性,故障恢复,以及容错能力. 延迟复制相关

Master-Master MySQL 复制安装配置试验

一.  架构 二.  安装Mysql server 下面以在DB1(192.168.0.10)的配置为例,DB2的配置基本一样,只要修改my.cnf中的server_id =2 1.        安装mysql-server db1# apt-get install mysql-server 注: ?  如果安装有问题,执行apt-getupdate更新源后再重试 ?  安装过程中需要输入root密码,设置后记住(123456) 2.        验证数据库安装 db1# mysql -p