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;


例子:

新建数据目录,用户 解压

file:///tmp/ct_tmp/1.pngwKioL1W47dDCQGklAADYe4EFLL8847.jpg



创建软链接

file:///tmp/ct_tmp/2.pngwKiom1W46_nD039CAAEEJh51wec201.jpg



更改属主及属组

file:///tmp/ct_tmp/3.png



初始化


file:///tmp/ct_tmp/4.pngwKiom1W47ODST5XYAAIKgfXXI0g924.jpg


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

wKioL1W472_xoP2yAAB1h_jRrkc603.jpgfile:///tmp/ct_tmp/5.png



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

wKiom1W47aqDk-jeAAFpm1tFsSM438.jpgfile:///tmp/ct_tmp/6.png



复制启动脚本


file:///tmp/ct_tmp/7.pngwKioL1W477ug0grMAABRgIfnrPE413.jpg




编辑环境变量文件

wKiom1W47eTSVYGLAAAxQe5uX00400.jpg



file:///tmp/ct_tmp/9.pngwKioL1W479_hJ8DPAABPKnZ_Nqo666.jpg




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

wKiom1W47hHCstHDAAEyetp3CUY271.jpgfile:///tmp/ct_tmp/10.png




查询

file:///tmp/ct_tmp/11.pngwKioL1W48BKCscUCAAGJYr2FGGg474.jpg









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的配置文件的修改

file:///tmp/ct_tmp/12.pngwKiom1W47krhaMycAAE4biYhWxo138.jpg



service mysqld start




master端的查询

file:///tmp/ct_tmp/13.pngwKioL1W48GTjqfI7AAFOQdgUPQw439.jpg




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

wKiom1W47pLz1BtCAAGDOfhdACM321.jpg






在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;

wKioL1W48KSTTkd-AABiqxCWdHQ128.jpgfile:///tmp/ct_tmp/15.png



mysql> start slave      启动



测试:在master端创建数据库

mysql> create database mydb

在master端查看从服务器

mysql> show slave hosts;

file:///tmp/ct_tmp/16.pngwKiom1W47sCTvO-wAACbKw3ydcs250.jpg




本文出自 “学习日志” 博客,转载请与作者联系!

你可能感兴趣的:(mysql,基于,-5.6)