myslq-5.6基于GTID的主从复制实现

mysql - 5.6 :GTID 机制

slave-parallel-workes=启动的线程个数等于小于数据库的库数
      0表示禁用
     
在mysql-5.6中使用基于GTID的复制功能

一、简单主从模式配置步骤

1、配置主从节点的服务配置文件

1.1、配置master节点:
[mysqld]
binlog-format=ROW
log-bin=master-bin
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=2
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
datadir=/mydata/data
socket=/tmp/mysql.sock
report-host=192.168.122.1   (换成主机ip地址,免得解析)

1.2、配置slave节点:
[mysqld]
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
slave-parallel-workers=2
binlog-checksum=CRC32
master-verify-checksum=1
slave-sql-verify-checksum=1
binlog-rows-query-log_events=1
server-id=11
report-port=3306
port=3306
log-bin=mysql-bin.log   (可以启用,也可不用,启用是可随时把slave提升成主的,当master挂掉时)
datadir=/mydata/data
socket=/tmp/mysql.sock
report-host=192.168.122.10  (换成主机ip地址,免得解析)

2、创建复制用户

mysql> GRANT REPLICATION SLAVE ON *.* TO [email protected] IDENTIFIED BY ‘replpass‘;

说明:172.16.100.7是从节点服务器;如果想一次性授权更多的节点,可以自行根据需要修改;

3、为备节点提供初始数据集

锁定主表,备份主节点上的数据,将其还原至从节点;如果没有启用GTID,在备份时需要在master上使用show master status命令查看二进制日志文件名称及事件位置,以便后面启动slave节点时使用。

4、启动从节点的复制线程

如果启用了GTID功能,则使用如下命令:
mysql> CHANGE MASTER TO MASTER_HOST=‘master.magedu.com‘, MASTER_USER=‘repluser‘, MASTER_PASSWORD=‘replpass‘, MASTER_AUTO_POSITION=1;

没启用GTID,需要使用如下命令:
slave> CHANGE MASTER TO MASTER_HOST=‘172.16.100.6‘,
-> MASTER_USER=‘repluser‘,
-> MASTER_PASSWORD=‘replpass‘,
-> MASTER_LOG_FILE=‘master-bin.000003‘,
-> MASTER_LOG_POS=1174;

例子:

新建数据目录,用户 解压

创建软链接

更改属主及属组

初始化

在当前目录下生成配置文件

master端配置文件的修改  vim my.cnf

复制启动脚本

编辑环境变量文件

启动mysql并查看二进制日志文件

查询

slave端配置

mkdir -pv /mydata/data
useradd -r mysql
chown -R mysql.mysql /mydata/data
cd 进解压目录
ln -sv mysql-5.6.10  mysql 创建链接文件
cd  mysql

chown -R mysql.mysql ./*

初始化

scriptes/mysql_install_db --user=mysql  --datadir=/mydata/data/

vim my.cnf

cp support-files/mysql.server /etc/init.d/mysqld
chkconfig  --add mysqld
service mysqld start

slave的配置文件的修改

service mysqld start

master端的查询

从端的查询,, (这时是不分主从的其实,谁都可以做主的)

在master端授权一个从的

mysql> grant replication slave on *.* to ‘repluser‘@‘172.16.%.%‘ identified by ‘replpass‘;

mysql> FLUSH PRIVILEGES;

slave端链接master端

mysql> change master to master_host=‘192.16.100.106‘,master_user=‘repluser‘, master_password=‘replpass‘,master_auto_position=1;

mysql> start slave      启动

测试:在master端创建数据库

mysql> create database mydb

在master端查看从服务器

mysql> show slave hosts;

时间: 2024-08-24 10:33:22

myslq-5.6基于GTID的主从复制实现的相关文章

基于GTID的主从复制数据库

基于GTID的主从复制数据库 全局身份识别 GTID(global transaction identifier) 为了实现主备数据库的强一致性 GTID = source_id:transaction_id source_id 表示执行事务的主库 transaction_id 是一个序列号,表示这个主库上执行的第 n 个事务. server_uuid是系统自动生成的,用来的替代server_id,因为source_id是手工设置的,可能会有冲突 数据库的安装和初始化 server33,44:

Mysql 基于GTID的主从复制及切换

参考 http://imysql.com/tag/gtid http://mysqllover.com/?p=594 Mysql 基于GTID的主从复制及切换 一.主从复制配置 两个mysql服务的my.cnf 中相关内容配置 [mysqld] #从复制数据库表设置 replicate-wild-ignore-table = mysql.%,information_schema.%,innodb.%,innodb_log.%,performance_schema.%,test.%,tmp.% #

基于GTID的主从复制搭建

前置检查 server-id = 10,master/slave不允许重复 log-bin gtid-mode = ON enforce-gtid-consistency = ON 1,利用mysqlpump复制master数据到slave,搭建基于GTID的主从复制,缺少GTID处理方法,暂不成功. mysqlpump --host= --user= --password= --single-transaction --default-parallelism=4 --compress-outp

企业——MYSQL(基于GTID)的主从复制

一.什么是主从复制? 主从复制,是用来建立一个和主数据库完全一样的数据库环境,称为从数据库:主数据库一般是准实时的业务数据库. 二.主从复制的作用(好处,或者说为什么要做主从) 1.做数据的热备,作为后备数据库,主数据库服务器故障后,可切换到从数据库继续工作,避免数据丢失. 2.架构的扩展.业务量越来越大,I/O访问频率过高,单机无法满足,此时做多库的存储,降低磁盘I/O访问的频率,提高单个机器的I/O性能. 3.读写分离,使数据库能支撑更大的并发.在报表中尤其重要.由于部分报表sql语句非常的

mysql主从之基于gtid的主从复制

一 GITD介绍 1.1 gtid的含义 Global Transaction Identifier,全局事务标识 阿里云的rds目前已经使用gtid 基于gtid的主从复制原理 每个mysql数据库上都有一个唯一uuid 每个事务生成一个id gtid由上面两者组合: uuid+事务id 1.2 优势 相对使用binlog+位置的方法来说 gtid让配置主从更加方便 从提升为主时比较方便 二 配置 2.1 主库的配置 [mysqld] bind-address=0.0.0.0 port=330

MySQL 基于 GTID 的主从复制和多实例配置

配置基于 GTID 的主从复制 1.修改 master 和 slave 的配置文件 server-id=113 gtid_mode=on enforce-gtid-consistency=on replicate-do-db=gateway_target # 如果只需同步部分表,就在 slave 上配置这两个额外项 replicate-do-table=gateway_target.t_target_snapshot 2.导出 master 的库和表结构到 slave,先停止 master my

docker下部署MySQL8基于GTID的主从复制

安装docker#yum install docker添加docker镜像仓库#vim /etc/docker/daemon.json {"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]} 拉取mysql镜像*# docker pull mysql 创建mysql容器# docker run -dit --name lisamysql001 -p 33307:3307 -e MYSQLROOTPAS

Mysql主从复制、二进制日志、基于GTID的主从复制、双主复制

 一.主从复制的工作原理   Mysql在Master与slave之间实现整个复制的过程由3个线程来完成的,   其中两个线程(SQL线程和IO线程)在 Slave端,   另外一个线程(IO)在Master端   要实现Mysql的复制必须首先打开Master端的binary log(也就是二进制日志)否则无法实现. Mysql复制基本过程如下:   (1)Slave上面的IO 线程链接上Master,并且请求指定日志文件的位置(或者 从开始的日志之后的日志内容)   (2)Master接收到

mysql5.6基于GTID的主从复制

mysql5.6gtid模式的主从复制: 1.配置master的my.cnf文件:    ##################master    [mysqld]    basedir = /usr/local/mysql    datadir = /home/data/mysqldb    socket = /home/data/mysqldb/mysql.sock    port = 3306    server_id = 1    user=mysql        binlog-form