在线精品99_中国九九盗摄偷拍偷看_91免费版在线观看_91.app_91高清视频在线_99热最新网站

MySQL基于GTID主从搭建怎么实现

126次阅读
没有评论

共计 5224 个字符,预计需要花费 14 分钟才能阅读完成。

本篇内容介绍了“MySQL 基于 GTID 主从搭建怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让丸趣 TV 小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

一、用 xtarbackup 备份数据库 1.1 优势

使用 xtarbackup 来做主从的前期准备是因为 xtarbackup 备份数据和恢复数据都很快,特别适合数据量很大的数据库备份,而且它的安装非常的简单,使用也很简单 ….(巴拉巴拉,废话编不出来了)。

1.2 安装

具体版本根据自己的具体情况来选择。就下面这几步就安装好了,是不是非常简单 …..

# rpm -Uvh https://www.percona.com/redir/downloads/percona-release/redhat/percona-release-0.1-3.noarch.rpm
# yum list | grep percona
# yum -y install perl perl-devel libaio libaio-devel perl-Time-HiRes perl-DBD-MySQL 
# rpm -Uvh ftp://rpmfind.net/linux/epel/6/x86_64/libev-4.03-3.el6.x86_64.rpm
# yum install percona-xtrabackup –y

1.3 使用 1.3.1 普通备份

innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456 /data/backupMysql/

1.3.2 tar 备份

(1)、备份到本地

#  不压缩
innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456 --stream=tar /data/backupMysql/ /data/mysql.tar
#  压缩
innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456 --stream=tar /data/backupMysql/ | gzip  /data/mysql.tar.gz

(2)、备份到远程

#  不压缩
innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456 --stream=tar /data/backupMysql/ | ssh [email protected] \  cat -  /data/mysql.tar
#  压缩
innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456 --stream=tar /data/backupMysql/ | | ssh [email protected] \  gzip  /data/mysql.tar.gz

(3)、解压方式

#  未经过压缩的文件解压
tar xvf mysql.tar -C /data
#  压缩过的文件解压
tar zxvf mysql.tar.gz -C /data

1.3.3 xbstream 备份

(1)、备份到本地

#  不压缩
innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456 --stream=xbstream /data/backupMysql/ /data/mysql.xbstream
#  压缩
innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456 --stream=xbstream --compress /data/backupMysql/  /data/mysql_compress.xbstream

(2)、备份要远程

#  不压缩
innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456 --stream=xbstream /data/backupMysql/| ssh [email protected]  xbstream -x -C /backup/stream 
#  压缩
innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456 --stream=xbstream --compress /data/backupMysql/ | ssh [email protected]  xbstream -x -C /backup/stream

(3)、解压方式

####  未压缩的
xbstream -x   mysql.xbstream -C /data
####  压缩过的
# 1、先解压 xbstream
xbstream -x   mysql_compress.xbstream -C /data
# 2、再解压 qp 压缩格式
for bf in `find . -iname  *\.qp  do qpress -d $bf $(dirname $bf)   rm $bf; done
注:如果 xtrabackup 版本大于 2.1.4,可以直接通过以下方式解压第二步。innobackupex --decompress /data

1.3.4 恢复

先将原备份压缩包解压到一个目录,然后执行下面语句恢复。

innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456 --copy-back /var/lib/mysql/backup/

注:在做备份,解压,恢复的过程中可以借助分屏工具,我喜欢用 screen。

二、基于 GTID 做数据同步 2.1 GTID 的概念

1、全局事务标识:global transaction identifiers。

2、GTID 是一个事务一一对应,并且全局唯一 ID。

3、一个 GTID 在一个服务器上只执行一次,避免重复执行导致数据混乱或者主从不一致。

4、GTID 用来代替传统复制方法,不再使用 MASTER_LOG_FILE+MASTER_LOG_POS 开启复制。而是使用 MASTER_AUTO_POSTION= 1 的方式开始复制。

5、MySQL-5.6.5 开始支持的,MySQL-5.6.10 后开始完善。

6、在传统的 slave 端,binlog 是不用开启的,但是在 GTID 中 slave 端的 binlog 是必须开启的,目的是记录执行过的 GTID(强制)。

2.2 GTID 的组成

GTID = source_id:transaction_id source_id:用于鉴别原服务器,即 mysql 服务器唯一的的 server_uuid,由于 GTID 会传递到 slave,所以也可以理解为源 ID。

transaction_id:为当前服务器上已提交事务的一个序列号,通常从 1 开始自增长的序列,一个数值对应一个事务。

示例:          3E11FA47-71CA-11E1-9E33-C80AA9429562:23 前面的一串为服务器的 server_uuid,即 3E11FA47-71CA-11E1-9E33-C80AA9429562,后面的 23 为 transaction_id

2.3 GTID 的原理

1、当一个事务在主库端执行并提交时,产生 GTID,一同记录到 binlog 日志中。

2、binlog 传输到 slave, 并存储到 slave 的 relaylog 后,读取这个 GTID 的这个值设置 gtid_next 变量,即告诉 Slave,下一个要执行的 GTID 值。

3、sql 线程从 relay log 中获取 GTID,然后对比 slave 端的 binlog 是否有该 GTID。

4、如果有记录,说明该 GTID 的事务已经执行,slave 会忽略。

5、如果没有记录,slave 就会执行该 GTID 事务,并记录该 GTID 到自身的 binlog,在读取执行事务前会先检查其他 session 持有该 GTID,确保不被重复执行。

6、在解析过程中会判断是否有主键,如果没有就用二级索引,如果没有就用全部扫描。

2.4 GTID 的优势

1、更简单的实现 failover,不用以前那样在需要找 log_file 和 log_pos。

2、更简单的搭建主从复制。

3、比传统的复制更加安全。

4、GTID 是连续的没有空洞的,保证数据的一致性,零丢失。

2.5 具体搭建过程

对于 GTID 的配置,主要修改配置文件中与 GTID 特性相关的几个重要参数,mysql 版本建议 mysql-5.6.5 版本以上。

2.5.1 开启主(master)Gtid

其主要配置如下:

[mysqld]
#GTID:
server_id=135 # 服务器 id
gtid_mode=on # 开启 gtid 模式
enforce_gtid_consistency=on # 强制 gtid 一致性,开启后对于特定 create table 不被支持
#binlog
log_bin=master-binlog
log-slave-updates=1 
binlog_format=row # 强烈建议,其他格式可能造成数据不一致
#relay log
skip_slave_start=1

2.5.2 在 master 上进行数据备份

innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456 --stream=tar /data/backupMysql/ | | ssh [email protected] \  gzip  /data/mysql.tar.gz

2.5.3 解压备份的数据

tar zxvf /data/mysql.tar.gz -C /data/baskup

2.5.4 配置 slave 的配置文件

[mysqld]
#GTID:
gtid_mode=on
enforce_gtid_consistency=on
server_id=143
#binlog
log-bin=slave-binlog
log-slave-updates=1
binlog_format=row # 强烈建议,其他格式可能造成数据不一致
#relay log
skip_slave_start=1

2.5.5 恢复数据

innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456 --copy-back /data/backup

2.5.6 获取 GTID 节点

more /data/backup/2018-02-08_15-03-18/xtrabackup_binlog_info

2.5.7 配置主从

(1)、在 master 上授权

grant replication slave on *.* to slaveuser@ 192.168.1.7  identified by  c2xhdmV1c2Vy

(2)、在 slave 上配置

stop slave;
SET GLOBAL gtid_purged= c5b5ffe7-ce66-11e7-9a19-00163e00013d:1-515758 
CHANGE MASTER TO MASTER_HOST= 192.168.1.6 ,MASTER_PORT=3306,MASTER_USER= slaveuser ,MASTER_PASSWORD= c2xhdmV1c2Vy ,MASTER_AUTO_POSITION=1;
start slave;

2.6 已运行经典复制 mysql 服务器转向 GTID 复制

a、按本文 2.5.2 描述配置参数文件;

b、所有服务器设置 global.read_only 参数,等待主从服务器同步完毕; mysql SET @@global.read_only = ON;

c、依次重启主从服务器;

d、使用 change master 更新主从配置;mysql CHANGE MASTER TO MASTER_HOST = host,   MASTER_PORT = port, MASTER_USER = user,   MASTER_PASSWORD = password,   MASTER_AUTO_POSITION = 1;

e、从库开启复制  mysql START SLAVE; f、验证主从复制

“MySQL 基于 GTID 主从搭建怎么实现”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注丸趣 TV 网站,丸趣 TV 小编将为大家输出更多高质量的实用文章!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-13发表,共计5224字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)
主站蜘蛛池模板: 一级毛片直接看 | 久久草在线观看视频 | 一级毛片在线观看视频 | 亚洲一区二区三区精品影院 | 夜夜高潮夜夜爽夜夜爱 | 精品国产96亚洲一区二区三区 | 亚洲精品一区二区乱码在线观看 | 20201精品极品国产色在线 | 亚洲av无码一区二区乱孑伦as | 免费观看午夜在线欧差毛片 | 精品久久精品久久 | 欧美一级毛片免费播放器 | 1024国产欧美日韩精品 | 欧美成性色 | 狠狠色噜噜狠狠狠狠色综合久av | 欧美日韩国产成人精品 | 特黄特黄一级高清免费大片 | 福利视频在线 | 午夜精品网站 | 国产日产亚洲系列最新 | 国产精品av免费观看 | 国产真实高潮太爽了 | 嫩草视频在线观看www视频 | 极品女神西比尔久久精品 | 久久无码人妻精品一区二区三区 | 台湾佬中文娱乐成人22vvvv | 天天做天天爱天天爽综合网 | 99re久久资源最新地址 | 国产亚洲精品久久久闺蜜 | 国产乱国产乱老熟300部视频 | 乱人伦人妻精品一区二区 | 亚洲人午夜射精精品日韩 | 成人欧美影片在线观看免费视频 | 91精品国产麻豆国产自产在线 | 亚洲av日韩av永久无码色欲 | 欧美换爱交换乱理伦片不卡片 | 精品视频专区 | 国产精品小黄鸭一区二区三区 | 国产裸模视频免费区无码 | 亚州综合激情另类久久久 | 三年片大全在线观看免费观看大全 |