MariaDB GTID 复制同步
MariaDB GTID 复制同步
GTID:Global Transaction ID,全局事务ID,在整个主从复制架构中任何两个事物ID是不能相同的。全局事务ID是Mster服务器生成一个128位的UUID+事物的ID号组成的,UUID标示主服务器的身份,此UUID在整个主从复制架构中是绝对唯一,而且即使更换主服务器后UUID也不会改变而是继承当前主服务器的UUID身份。
一、环境确认
master IP : 10.6.0.96
slave IP : 10.6.0.138
配置本地hosts
vim /etc/hosts
10.6.0.96 master.mysql
10.6.0.138 slave.mysql
二、配置文件确认,确保配置文件中有以下的配置:
binlog_format 二进制日志的格式,有row、statement和mixed几种类型;
log-slave-updates、
report-port
report-host: 用于启动GTID及满足附属的其它需求;
master-info-repository
relay-log-info-repository 启用此两项,可用于实现在崩溃时保证二进制及从服务器安全的功能;
sync-master-info 启用之可确保无信息丢失;
slave-parallel-workers 设定从服务器的SQL线程数;0表示关闭多线程复制功能;
binlog-checksum
master-verify-checksum
slave-sql-verify-checksum 启用复制有关的所有校验功能;
binlog-rows-query-log-events 启用之可用于在二进制日志记录事件相关的信息,可降低故障排除的复杂度;
log-bin 启用二进制日志,这是保证复制功能的基本前提;
server-id 同一个复制拓扑中的所有服务器的id号必须惟一.
三、配置master配置文件
//修改如下内容
log-bin=/opt/local/mysql/binlog/mysql-bin #二进制日志文件目录
server-id = 1 #从服务器不能跟此id重复
binlog_format=ROW #二进制日志文件格式
innodb_file_per_table=1 #innodb表空间独立
log-slave-updates=true #从master取得并执行的二进制日志写入自己的二进制日志文件中
//添加以下内容
binlog-do-db=mysql #指定只同步mysql库
master-info-repository=TABLE #用于实现在崩溃时保证二进制及从服务器安全的功能;
relay-log-info-repository=TABLE #用于实现在崩溃时保证二进制及从服务器安全的功能;
sync-master-info=1 #启用之可确保无信息丢失
slave-parallel-threads=2 #设定从服务器的SQL线程数;0表示关闭多线程复制功能
binlog-checksum=CRC32 #启用复制有关的所有校验功能
master-verify-checksum=1 #启用复制有关的所有校验功能
slave-sql-verify-checksum=1 #启用复制有关的所有校验功能
binlog-rows-query-log_events=1 #启用之可用于在二进制日志记录事件相关的信息,可降低故障排除的复杂度;
report-host=master.mysql #master 主机名,必须能ping通
report-port=3306 #端口
// 重启 mysql
service mysqld restart
//master创建用于主从复制的账号
mysql -uroot -p
grant replication slave,replication client on *.* to "rep"@'10.6.0.138' identified by 'rep12345';
flush privileges;
四、配置slave配置文件
//修改如下内容
log-bin=/opt/local/mysql/binlog/mysql-bin #二进制日志文件目录
server-id = 10 #从服务器不能跟此id重复
binlog_format=ROW #二进制日志文件格式
innodb_file_per_table=1 #innodb表空间独立
log-slave-updates=true #从master取得并执行的二进制日志写入自己的二进制日志文件中
relay-log=/opt/local/mysql/relaylog/s74-relay-bin
//添加以下内容
replicate-do-db=mysql #指定只同步mysql库
master-info-repository=TABLE #用于实现在崩溃时保证二进制及从服务器安全的功能;
relay-log-info-repository=TABLE #用于实现在崩溃时保证二进制及从服务器安全的功能;
sync-master-info=1 #启用之可确保无信息丢失
slave-parallel-threads=2 #设定从服务器的SQL线程数;0表示关闭多线程复制功能
binlog-checksum=CRC32 #启用复制有关的所有校验功能
master-verify-checksum=1 #启用复制有关的所有校验功能
slave-sql-verify-checksum=1 #启用复制有关的所有校验功能
binlog-rows-query-log_events=1 #启用之可用于在二进制日志记录事件相关的信息,可降低故障排除的复杂度;
report-host=slave.mysql #slave 主机名,必须能ping通
report-port=3306 #端口
# 在slave服务器使用主mysql上创建的账号密码登陆
mysql -uroot -p
change master to master_host='10.6.0.96',master_user='rep',master_password='rep12345',master_use_gtid=current_pos;
start slave;
# 查看是否启用 gtid:
show processlist;
# 查看同步状态:
show slave status\G;
以下为传统主从复制的解决方案
-----------------------------------------------------------------------------------------
# 在master 查看 Position
show master status;
记录 Position
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000008 | 1062 | | |
+------------------+----------+--------------+------------------+
# 在 slave 上面 执行
CHANGE MASTER TO MASTER_HOST='10.6.0.96',MASTER_USER='rep',MASTER_PASSWORD='rep12345',MASTER_LOG_FILE='mysql-bin.000008',MASTER_LOG_POS=1062;
start slave;
show slave status \G;
MariaDB GTID 复制同步的更多相关文章
- MySQL GTID复制
什么是GTID 什么是GTID呢, 简而言之,就是全局事务ID(global transaction identifier ),最初由google实现,官方MySQL在5.6才加入该功能.GTID是事 ...
- MariaDB的GTID复制和多源复制
什么是GTID? GTID就是全局事务ID(global transaction identifier ),最初由google实现,官方MySQL在5.6才加入该功能.GTID实际上是由UUID+TI ...
- GTID复制详解
前言 GTID复制是MySQL 5.6后的新功能,在传统的方式里,主从切换后,需要找到binlog和POS点,然后执行命令change master to 指向新的主库.对于不是很有经验的人来说,往往 ...
- MySQL\MariaDB 多线程复制初探
背景: MariaDB 在10.0.5就已经支持了并行复制的功能,即从库多线程复制的功能.MySQL最先在5.6.3中支持.目前暂时没有用MySQL5.6的版本,故暂时只对MariaDB进行一些说明, ...
- mysql之 MySQL 主从基于 GTID 复制原理概述
一. 什么是GTID ( Global transaction identifiers ):MySQL-5.6.2开始支持,MySQL-5.6.10后完善,GTID 分成两部分,一部分是服务的UUid ...
- mysql之 mysql 5.6不停机主从搭建(一主一从基于GTID复制)
环境说明:版本 version 5.6.25-log 主库ip: 10.219.24.25从库ip:10.219.24.22os 版本: centos 6.7已安装热备软件:xtrabackup 防火 ...
- MySQL的GTID复制与传统复制的相互转换
主库:192.168.225.128:3307从库1:192.168.225.129:3307 Gtid作为5.6版本以来的杀手级特性,却因为不支持拓扑结构内开关而饱受诟病.如果你需要从未开启GTID ...
- 深入MySQL复制(二):基于GTID复制
相比传统的MySQL复制,gtid复制无论是配置还是维护都要轻松的多.本文对gtid复制稍作介绍. MySQL基于GTID复制官方手册:https://dev.mysql.com/doc/refman ...
- MySQL5.7 的GTID复制
MySQL5.7 的GTID复制 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在MySQL5.6之后其官方推出了GTID复制方式,和传统的基于bin log复制方式有所不同,接 ...
随机推荐
- MySQL与Oracle的区别
1.语法上的区别 变量类型定义.IN OUT的位置.变量定义的位置.游标的位置.异常的位置: 2.MySQL没有 return 关键字,采用leave label的方式结束循环或跳出存储 3.异常处 ...
- 1.2 eclipse使用 :working set
working set可以是相当于文件夹~~有多个project时, 分别存放在不同的 workingset下,可以方便管理 新建或编辑 working set时,需要记住选择project *可参照 ...
- 【servlet】 第一个servlet
简单打印haha Helloyt.java package day01; import java.io.IOException; import javax.servlet.ServletConfig; ...
- 虚拟机centos分区
在计算机上安装 Linux 系统,对硬盘进行分区是一个非常重要的步骤,下面介绍几个分区方案. 方案 1 / :建议大小在 5GB 以上. swap :即交换分区,建议大小是物理内存的 1~2 倍. 方 ...
- LightOJ 1341 Aladdin and the Flying Carpet 算数基本定理
题目大意:给出面积n,和最短边m,求能形成的矩形的个数(不能为正方形). 题目思路:根据算数基本定理有: 1.每个数n都能被分解为:n=p1^a1*p2^a2*^p3^a3……pn^an(p为素数); ...
- jquery的校验规则的方法
//validate 选项*********************************************************** $("form").validat ...
- Android Camera(一)
最近老大交给了一个任务,说是要在本地视频端很够调节摄像头焦距. 碰到了一些问题: 1.手机支不支持摄像头变焦 2.系统自带摄像软件可以变焦,但是自己编写的程序不支持变焦, 这个问题网上也有很多童鞋碰到 ...
- ssh The authenticity of host 192.168.0.xxx can't be established
用ssh登录一个机器(换过ip地址),提示输入yes后,屏幕不断出现y,只有按ctrl + c结束 错误是:The authenticity of host 192.168.0.xxx can't b ...
- parseint和parsefloat总结number。隐形转换
parseint:会认识一些字符+.-.空格,其他的就会截止譬如23hudhchauch结果为:23,对于boollen类型不能转换为1或是0. number:是对整体的转换.对true的转换为1. ...
- java数组的引用
数组属于应用型变量,因此两个相投类型的数组如果具有相同的引用,它们就有完全相同的元素 如: int a[]={1,2,3},b[]={4,5} 如果a=b;则a[]={4,5} public clas ...