阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

MySQL 5.7使用Xtrabackup搭建GTID主从

243次阅读
没有评论

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

MySQL 版本是 5.7.17

操作系统是CentOS 7

MySQL 数据目录:/alidata1/mysql

MySQL 备份目录:/alidata1/backup/full_mysql 

在 master 及 slave 机器安装 xtrabackup 软件

  1. [root@iz2ze6jo3o3bqbcongnypqz innobackupex]# rpm -ivh percona-xtrabackup-24-2.4.9-1.el7.x86_64.rpm
  2. warning: percona-xtrabackup-24-2.4.9-1.el7.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID cd2efd2a: NOKEY
  3. error: Failed dependencies:
  4. libev.so.4()(64bit) is needed by percona-xtrabackup-24-2.4.9-1.el7.x86_64
  5. perl(DBD::mysql) is needed by percona-xtrabackup-24-2.4.9-1.el7.x86_64
  6. perl(Digest::MD5) is needed by percona-xtrabackup-24-2.4.9-1.el7.x86_64
  7. rsync is needed by percona-xtrabackup-24-2.4.9-1.el7.x86_64

libev.so.4()的解决 到下面这里下载操作系统对应的版本,本例下载的是 libev-4.15-7.el7.x86_64.rpm

  1. http://rpmfind.net/linux/rpm2html/search.php?query=libev.so.4%28%29%2864bit%29&submit=Search+...&system=&arch=

perl(DBD::mysql)和perl(Digest::MD5),需要安装 mysql-community-libs-compat-5.7.17-1.el7.x86_64.rpm,在安装包里找到即可

在 master 机器操作

1、在数据库创建备份账号

  1. CREATE USER xtrabk@’localhost’ IDENTIFIED BY ‘onlyxtrabk!@#$’;
  2. GRANT RELOAD, LOCK TABLES, REPLICATION CLIENT,Process ON *.* TO xtrabk@‘localhost’;
  3. FLUSH PRIVILEGES;

2、备份主库

  1. innobackupex –defaults-file=/etc/my.cnf —user=xtrabk —password=‘onlyxtrabk!@#$’ –parallel=4 /alidata1/backup/full_mysql –no-timestamp

在 slave 机器操作

1、停止 mysql, 删除或者重命名 Mysql 数据目录

  1. systemctl stop mysqld.service
  2. rm -rf /alidata1/mysql/data
  3. rm -rf /alidata1/mysql/redolog

2、应用日志及数据库还原

  1. innobackupex –defaults-file=/etc/my.cnf –apply-log /alidata1/backup/full_mysql
      innobackupex –defaults-file

=

    /

        etc

    /

        my

    .

        cnf –copy-back

    /

        alidata1

    /

        backup

    /

      full_mysql

    3、修改数据目录的宿主权限

    1. chown -R mysql:mysql /alidata1/mysql

    4、启动 mysql

    1. systemctl start mysqld.service

    5. 过滤掉已执行过的 gtid

    1. cat /alidata1/backup/full_mysql/xtrabackup_info |grep binlog_pos
    2. [root@iz2ze6jo3o3bqbcongnyppz full_mysql]# cat /alidata1/backup/full_mysql/xtrabackup_info |grep binlog_pos
    3. binlog_pos = filename ‘bin.000131’, position ‘615481029’, GTID of the last change ‘c9c73c70-c089-11e7-8544-00163e0ad76e:1-107089934’

    6. 查看 slave 已执行的 gtid 是否为空,如果不为空,需要执行 reset MASTER 进行清理,否则无法设置 gtid。

    1. mysql> show master status \G;
    2. *************************** 1. row ***************************
    3.              File: bin.000001
    4.          Position: 154
    5.      Binlog_Do_DB:
    6.  Binlog_Ignore_DB:
    7. Executed_Gtid_Set: c9c73c70-c089-11e7-8544-00163e0ad76e:1-106016597
    8. 1 row in set (0.00 sec)

    7. 执行 reset master

    8. 执行GTID_PURGED

    1. SET @MYSQLDUMP_TEMP_LOG_BIN = @@SESSION.SQL_LOG_BIN;
    2. SET @@SESSION.SQL_LOG_BIN= 0;
    3. SET @@GLOBAL.GTID_PURGED=‘c9c73c70-c089-11e7-8544-00163e0ad76e:1-107089934’;
    4. SET @@SESSION.SQL_LOG_BIN = @MYSQLDUMP_TEMP_LOG_BIN;

    9.change master

    1. change master to
    2. master_host=‘192.168.2.71’,
    3. master_port=3306,
    4. master_user=‘repl’,
    5. master_password=‘REPLsafe!@#$71’,
    6. MASTER_AUTO_POSITION = 1;

    10. start slave ;

    11.show slave status\G;

    本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-12/149570.htm

    正文完
    星哥玩云-微信公众号
    post-qrcode
     0
    星锅
    版权声明:本站原创文章,由 星锅 于2022-01-22发表,共计2610字。
    转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
    【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
    阿里云-最新活动爆款每日限量供应
    评论(没有评论)
    验证码
    【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中