加入收藏 | 设为首页 | 会员中心 | 我要投稿 洛阳站长网 (https://www.0379zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

MySQL5.7怎么用mysqldump创建gtid主从

发布时间:2022-01-19 14:04:48 所属栏目:MySql教程 来源:互联网
导读:这篇文章主要介绍MySQL5.7怎么用mysqldump搭建gtid主从,在日常操作中,相信很多人在MySQL5.7怎么用mysqldump搭建gtid主从问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答MySQL5.7怎么用mysqldump搭建gtid主从的疑惑有所帮
       这篇文章主要介绍“MySQL5.7怎么用mysqldump搭建gtid主从”,在日常操作中,相信很多人在MySQL5.7怎么用mysqldump搭建gtid主从问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”MySQL5.7怎么用mysqldump搭建gtid主从”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
 
 
      最近需要把一个老系统升级到新系统,主要是硬件更新。
 
      在新硬件这边搭建了一主两从的环境,数据主要是开发人员导入到新系统,因为导入数据过程中并发量太大,写入太密集,需要先把从停掉,数据导入、核对完成后,重新搭建主从环境。
 
主从是环境的mysql是5.7.12,用了gtid。
 
下面是具体步骤,没有特殊说明的都是在从库执行:
 
1.stop slave; ##停止从库
 
2.reset slave all;     ##重置主从配置信息
 
3.在主库上使用mysqldump导出数据库,我写了一个脚本来执行导出,脚本名字是mysqlbackup.sh
 
 
 
[root@iz2ze6jo3o3bqbcongnypqz export_mysql]# more mysqlbackup.sh
#!/bin/bash
databases=('xxx_0042')
basepath='/alidata1/backup/export_mysql/'
user='root'
passwd='xxxxxx'
if [ ! -d "$basepath" ]; then
  mkdir -p "$basepath"
fi
for db in ${databases[*]}
  do
    /bin/nice -n 19 /usr/bin/mysqldump -u$user -p$passwd --log-error=$basepath$db-$(date +%Y%m%d).log --set-gtid-purged=on --single-transaction --databases $db > $basepath$db-$(date +%Y%m%d).sql
    
    /bin/nice -n 19 tar zPcf $basepath$db-$(date +%Y%m%d).sql.tar.gz $basepath$db-$(date +%Y%m%d).sql
    
    find $basepath -mtime +7 -name "*.sql.tar.gz" -exec rm -rf {} ;
  done
  rm -rf $basepath
 
4.导出的文件中已经包含了GTID_PURGED的信息,这个信息非常有用,意思是从库开启后那些事物不需要执行了。
 
 
[root@iz2ze6jo3o3bqbcongnypoz export_mysql]# grep GTID_PURGED xxx_0042-20171202.sql
SET @@GLOBAL.GTID_PURGED='c9c73c70-c089-11e7-8544-00163e0ad76e:1-49794683';
5.将备份文件转到从服务器,我这个比较复杂,先把文件转到跳板机,然后转到从,-i 参数是为了用阿里云的密钥文件,ssh也是这样用。
 
 
scp -i xx_aliyun.pem root@192.168.2.71:/alidata1/backup/export_mysql/xxx_0042-20171202.sql.tar.gz /home/guoliang/
scp -i xx_aliyun.pem /home/guoliang/xxx_0042-20171202.sql.tar.gz  root@192.168.2.72:/alidata1/backup/export_mysql
scp -i xx_aliyun.pem /home/guoliang/xxx_0042-20171202.sql.tar.gz  root@192.168.2.73:/alidata1/backup/export_mysql
 
6.reset master;  ##重置从服务器上的binlog
 
 
7.导入数据
 
 
source /alidata1/backup/export_mysql/alidata1/backup/export_mysql/xxx_0042-20171202.sql
 
8.执行change master
 
 
change master to
master_host='192.168.2.71',
master_port=3306,
master_user='repl',
master_password='REPLsafxxxxx',
MASTER_AUTO_POSITION = 1;
9.show slave status G;  ##检查从的状态,主要关注下面这两个值是否和上面grep出来的值是否一致。
 
 
  Retrieved_Gtid_Set: c9c73c70-c089-11e7-8544-00163e0ad76e:49794684-50352676
           
Executed_Gtid_Set: c9c73c70-c089-11e7-8544-00163e0ad76e:1-49798235
 
10.当Seconds_Behind_Master: 0的时候,数据同步已经完成了。
 
到此,关于“MySQL5.7怎么用mysqldump搭建gtid主从”的学习就结束了,希望能够解决大家的疑惑。

(编辑:洛阳站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!