首页 > 其他分享 >运用xtrabackup异机迁移单库

运用xtrabackup异机迁移单库

时间:2023-11-16 23:00:52浏览次数:39  
标签:13 rw 23 单库 xtrabackup mysql Nov -----. 异机

文档课题:运用xtrabackup异机迁移单库.
数据库:mysql 5.7.21
innobackupex版本:2.4.12
innobackupex安装包:percona-xtrabackup-24-2.4.12-1.el7.x86_64.rpm
节点1:192.168.133.111 + mysql-leo-master
节点2:192.168.133.112 + mysql-leo-slave
1、测试数据确认
--节点1数据.
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| booksDB            |
| fruitsDB           |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
--节点2数据.
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| fruitsDB           |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.00 sec)

目标:将192.168.133.111节点上的booksDB库运用xtrabackup迁移到192.168.133.112节点.

2、备份booksDB库
2.1、单库备份
--节点1通过xtrabackup备份booksDB库.
[mysql@mysql-leo-master ~]$ /bin/innobackupex --defaults-file=/home/mysql/etc/my.cnf --socket=/mysql/data/mysql.sock --user=root --password=mysql_4U --databases=booksDB --port=3306 /mysql/data/bak
[mysql@mysql-leo-master booksDB]$ pwd
/mysql/data/bak/2023-11-13_23-03-12/booksDB
[mysql@mysql-leo-master booksDB]$ ll
total 62640
-rw-r-----. 1 mysql mysql     8778 Nov 13 23:03 article.frm
-rw-r-----. 1 mysql mysql   114688 Nov 13 23:03 article.ibd
-rw-r-----. 1 mysql mysql     8594 Nov 13 23:03 book.frm
-rw-r-----. 1 mysql mysql   114688 Nov 13 23:03 book.ibd
-rw-r-----. 1 mysql mysql     8586 Nov 13 23:03 class.frm
-rw-r-----. 1 mysql mysql   114688 Nov 13 23:03 class.ibd
-rw-r-----. 1 mysql mysql       67 Nov 13 23:03 db.opt
-rw-r-----. 1 mysql mysql     8646 Nov 13 23:03 demo_table.frm
-rw-r-----. 1 mysql mysql 37748736 Nov 13 23:03 demo_table.ibd
-rw-r-----. 1 mysql mysql    14071 Nov 13 23:03 lmt_intercus_agr.frm
-rw-r-----. 1 mysql mysql   294912 Nov 13 23:03 lmt_intercus_agr.ibd
-rw-r-----. 1 mysql mysql     8596 Nov 13 23:03 phone.frm
-rw-r-----. 1 mysql mysql   114688 Nov 13 23:03 phone.ibd
-rw-r-----. 1 mysql mysql     8710 Nov 13 23:03 staffs.frm
-rw-r-----. 1 mysql mysql   114688 Nov 13 23:03 staffs.ibd
-rw-r-----. 1 mysql mysql     8620 Nov 13 23:03 tb.frm
-rw-r-----. 1 mysql mysql 25165824 Nov 13 23:03 tb.ibd
-rw-r-----. 1 mysql mysql     8646 Nov 13 23:03 tbl_user.frm
-rw-r-----. 1 mysql mysql   114688 Nov 13 23:03 tbl_user.ibd
-rw-r-----. 1 mysql mysql     8686 Nov 13 23:03 test03.frm
-rw-r-----. 1 mysql mysql   114688 Nov 13 23:03 test03.ibd

2.2、备份表结构
--备份booksDB库的表结构.
[mysql@mysql-leo-master ~]$ /usr/local/mysql/bin/mysqldump -uroot -pmysql_4U -P3306 --single-transaction --master-data=2 -d -B booksDB > /tmp/booksDB.sql
[mysql@mysql-leo-master tmp]$ ls -ltr | grep booksDB.sql
-rw-rw-r--. 1 mysql mysql 9988 Nov 13 22:35 booksDB.sql

2.3、传输表结构备份集
--将节点1的表结构备份集传输到节点2.
[mysql@mysql-leo-master tmp]$ scp booksDB.sql [email protected]:/tmp

3、恢复
注意:3.1-3.4、3.6在节点2上执行,3.4-3.5在节点1执行.
3.1、恢复前备份
--对节点2进行全备.
[mysql@mysql-leo-slave ~]$ nohup /bin/innobackupex --defaults-file=/home/mysql/etc/my.cnf --socket=/mysql/data/mysql.sock --user=root --password=mysql_4U --port=3306 /tmp &

3.2、导入表结构
--将节点1备份的booksDB库的表结构导入到节点2(192.168.133.112).
[mysql@mysql-leo-slave ~]$ mysql -uroot -pmysql_4U -P3306 < /tmp/booksDB.sql

3.3、生成丢弃/导入表空间SQL语句
--在节点2(192.168.133.112)生成丢弃/导入表空间的SQL语句.

#生成丢弃表空间的SQL.
> select concat('alter table ',table_schema,'.',TABLE_NAME , ' discard tablespace', ';') from  information_schema.tables where TABLE_SCHEMA = 'booksDB' into outfile '/mysql/bak/file/discard.sql';

#生成导入表空间的SQL.
> select concat('alter table ',table_schema,'.',TABLE_NAME , ' import tablespace', ';') from  information_schema.tables where TABLE_SCHEMA = 'booksDB' into outfile '/mysql/bak/file/import.sql';

3.4、丢弃表空间
--登录节点2(192.168.133.112),执行丢弃表空间的sql语句.
> source /mysql/bak/file/discard.sql;

--确认192.168.133.112节点底层数据文件.
[mysql@mysql-leo-slave booksDB]$ pwd
/mysql/data/booksDB
[mysql@mysql-leo-slave booksDB]$ ls -ltr
total 128
-rw-r-----. 1 mysql mysql    67 Nov 13 22:39 db.opt
-rw-r-----. 1 mysql mysql  8778 Nov 13 22:39 article.frm
-rw-r-----. 1 mysql mysql  8594 Nov 13 22:39 book.frm
-rw-r-----. 1 mysql mysql  8586 Nov 13 22:39 class.frm
-rw-r-----. 1 mysql mysql  8646 Nov 13 22:39 demo_table.frm
-rw-r-----. 1 mysql mysql 14071 Nov 13 22:39 lmt_intercus_agr.frm
-rw-r-----. 1 mysql mysql  8596 Nov 13 22:39 phone.frm
-rw-r-----. 1 mysql mysql  8710 Nov 13 22:39 staffs.frm
-rw-r-----. 1 mysql mysql  8620 Nov 13 22:39 tb.frm
-rw-r-----. 1 mysql mysql  8646 Nov 13 22:39 tbl_user.frm
-rw-r-----. 1 mysql mysql  8686 Nov 13 22:39 test03.frm

说明:可以看到ibd文件已被丢弃.
3.4、prepare备份文件
--节点1(192.168.133.111)执行,注意此处需添加--export选项,其允许导出单个表以进行导入到另一个服务器.
[mysql@mysql-leo-master booksDB]$ /bin/innobackupex --apply-log --export /mysql/data/bak/2023-11-13_23-03-12
......
xtrabackup: starting shutdown with innodb_fast_shutdown = 0
InnoDB: FTS optimize thread exiting.
InnoDB: Starting shutdown...
InnoDB: Shutdown completed; log sequence number 897943080
231113 23:06:02 completed OK!

--查看备份文件目录.
[mysql@mysql-leo-master booksDB]$ ll
total 62840
-rw-rw-r--. 1 mysql mysql      827 Nov 13 23:05 article.cfg
-rw-r-----. 1 mysql mysql    16384 Nov 13 23:05 article.exp
-rw-r-----. 1 mysql mysql     8778 Nov 13 23:03 article.frm
-rw-r-----. 1 mysql mysql   114688 Nov 13 23:03 article.ibd
-rw-rw-r--. 1 mysql mysql      498 Nov 13 23:05 book.cfg
-rw-r-----. 1 mysql mysql    16384 Nov 13 23:05 book.exp
-rw-r-----. 1 mysql mysql     8594 Nov 13 23:03 book.frm
-rw-r-----. 1 mysql mysql   114688 Nov 13 23:03 book.ibd
-rw-rw-r--. 1 mysql mysql      397 Nov 13 23:05 class.cfg
-rw-r-----. 1 mysql mysql    16384 Nov 13 23:05 class.exp
-rw-r-----. 1 mysql mysql     8586 Nov 13 23:03 class.frm
-rw-r-----. 1 mysql mysql   114688 Nov 13 23:03 class.ibd
-rw-r-----. 1 mysql mysql       67 Nov 13 23:03 db.opt
-rw-rw-r--. 1 mysql mysql      698 Nov 13 23:05 demo_table.cfg
-rw-r-----. 1 mysql mysql    16384 Nov 13 23:05 demo_table.exp
-rw-r-----. 1 mysql mysql     8646 Nov 13 23:03 demo_table.frm
-rw-r-----. 1 mysql mysql 37748736 Nov 13 23:03 demo_table.ibd
-rw-rw-r--. 1 mysql mysql     2305 Nov 13 23:05 lmt_intercus_agr.cfg
-rw-r-----. 1 mysql mysql    16384 Nov 13 23:05 lmt_intercus_agr.exp
-rw-r-----. 1 mysql mysql    14071 Nov 13 23:03 lmt_intercus_agr.frm
-rw-r-----. 1 mysql mysql   294912 Nov 13 23:03 lmt_intercus_agr.ibd
-rw-rw-r--. 1 mysql mysql      503 Nov 13 23:05 phone.cfg
-rw-r-----. 1 mysql mysql    16384 Nov 13 23:05 phone.exp
-rw-r-----. 1 mysql mysql     8596 Nov 13 23:03 phone.frm
-rw-r-----. 1 mysql mysql   114688 Nov 13 23:03 phone.ibd
-rw-rw-r--. 1 mysql mysql      696 Nov 13 23:05 staffs.cfg
-rw-r-----. 1 mysql mysql    16384 Nov 13 23:05 staffs.exp
-rw-r-----. 1 mysql mysql     8710 Nov 13 23:03 staffs.frm
-rw-r-----. 1 mysql mysql   114688 Nov 13 23:03 staffs.ibd
-rw-rw-r--. 1 mysql mysql      777 Nov 13 23:05 tb.cfg
-rw-r-----. 1 mysql mysql    16384 Nov 13 23:05 tb.exp
-rw-r-----. 1 mysql mysql     8620 Nov 13 23:03 tb.frm
-rw-r-----. 1 mysql mysql 25165824 Nov 13 23:03 tb.ibd
-rw-rw-r--. 1 mysql mysql      617 Nov 13 23:05 tbl_user.cfg
-rw-r-----. 1 mysql mysql    16384 Nov 13 23:05 tbl_user.exp
-rw-r-----. 1 mysql mysql     8646 Nov 13 23:03 tbl_user.frm
-rw-r-----. 1 mysql mysql   114688 Nov 13 23:03 tbl_user.ibd
-rw-rw-r--. 1 mysql mysql      730 Nov 13 23:05 test03.cfg
-rw-r-----. 1 mysql mysql    16384 Nov 13 23:05 test03.exp
-rw-r-----. 1 mysql mysql     8686 Nov 13 23:03 test03.frm
-rw-r-----. 1 mysql mysql   114688 Nov 13 23:03 test03.ibd

说明:可以看到prepare备份文件后,多出cfg、exp结尾的文件.

3.5、传输备份文件
--在节点1上将准备好的备份文件中后缀名为cfg、ibd、exp的备份集传输到节点2实例的booksDB库下.
[mysql@mysql-leo-master booksDB]$ scp /mysql/data/bak/2023-11-13_23-03-12/booksDB/*.ibd /mysql/data/bak/2023-11-13_23-03-12/booksDB/*.cfg /mysql/data/bak/2023-11-13_23-03-12/booksDB/*.exp [email protected]:/mysql/data/booksDB/
注意:若传输到节点2后文件的属性不对,按如下指令进行修改.
chown -R mysql:mysql /mysql/data/booksDB/

3.6、导入表空间
--登录节点2执行导入表空间的SQL语句.
mysql> source /mysql/bak/file/import.sql;

4、验证数据
4.1、重启前验证
--节点2验证表数据.
mysql> use booksDB;
mysql> show tables;
+-------------------+
| Tables_in_booksDB |
+-------------------+
| article           |
| book              |
| class             |
| demo_table        |
| lmt_intercus_agr  |
| phone             |
| staffs            |
| tb                |
| tbl_user          |
| test03            |
+-------------------+
10 rows in set (0.00 sec)

mysql> select count(*) from book;
+----------+
| count(*) |
+----------+
|       20 |
+----------+
1 row in set (0.00 sec)

4.2、重启后验证
--重启节点2数据库后再次验证.
mysql> shutdown;
Query OK, 0 rows affected (0.00 sec)

mysql> exit
Bye
[mysql@mysql-leo-slave booksDB]$ /usr/local/mysql/bin/mysqld_safe --defaults-file=/home/mysql/etc/my.cnf &
[mysql@mysql-leo-slave booksDB]$ mysql -uroot -p
mysql> use booksDB;
mysql> select count(*) from staffs;
+----------+
| count(*) |
+----------+
|        3 |
+----------+
1 row in set (0.00 sec)

说明:booksDB数据库成功导入节点2.

参考网址:http://www.bryh.cn/a/261126.html

标签:13,rw,23,单库,xtrabackup,mysql,Nov,-----.,异机
From: https://blog.51cto.com/u_12991611/8433757

相关文章

  • mysql 物理备份xtrabackup
    1.优缺点优点:a.备份过程快速可靠b.支持增量备份c.备份过程不会打断正在执行的事务d.能够基于压缩等功能节约磁盘和空间e.自动实现备份验证f.还原速度快缺点:a.只能对innodb表进行增备,myisam表备份是全备b.对myisam表进行备份时要对全库加readlock,阻塞写操作,若备份在从库上进行会......
  • xtrabackup实现全量+增量+binlog恢复库
    #一、利用xtrabackup实现完全备份及还原1.下载并安装xtrabackup包[root@centos8~]#wgethttps://downloads.percona.com/downloads/Percona-XtraBackup-2.4/Percona-XtraBackup-2.4.23/binary/redhat/7/x86_64/percona-xtrabackup-24-2.4.23-1.el7.x86_64.rpm[root@localho......
  • xtrabackup实现全量+增量+binlog恢复mariadb数据库
     #一、利用xtrabackup实现完全备份及还原1.下载并安装xtrabackup包[root@centos8~]#wgethttps://downloads.percona.com/downloads/Percona-XtraBackup-2.4/Percona-XtraBackup-2.4.23/binary/redhat/7/x86_64/percona-xtrabackup-24-2.4.23-1.el7.x86_64.rpm......
  • XtraBackup下载和卸载
    XtraBackup可以从官方链接https://www.percona.com/downloads/XtraBackup/LATEST/下载你需要的稳定版本。这个链接也提供PerconaXtraBackupDocumentation相关文档下载。下载的时候,注意版本与平台信息。XtraBackup卸载1:aptpackages安装方式的卸载   #sudoapt-getremovep......
  • linux服务器异机备份
    1、安装crondyum-yinstallvixie-cronyum-yinstallcrontabs2、新建脚本文件,制定运行脚本vi/mnt/bak/backup135.sh备份脚本如下:#!/bin/bashsettimeout6000spawnrsync-e"ssh-p22"[email protected]:/home/backup/mnt/backupexpect{"passw......
  • KingbaseES V8R3 备份恢复案例 -- sys_rman物理备份异机恢复
    案例说明:在生产环境通过sys_rman执行了物理备份后,需要在异机构建测试环境,本案例描述了通过物理备份异机恢复的详细过程及操作。适用版本:KingbaseESV8R3节点信息:[kingbase@node102bin]$cat/etc/hosts......192.168.1.101node101#生产节点192.168.1.102node......
  • xtrabackup8安装并部署主从
    环境:OS:Centos7xtrabackup:8.0.28mysql:8.0.281.下载xtrabackup-8.0.282.安装解压[root@host135soft]#tar-xvfpercona-xtrabackup-8.0.28-21-Linux-x86_64.glibc2.17.tar.gz[root@host135soft]#mvpercona-xtrabackup-8.0.28-21-Linux-x86_64.glibc2.17/opt/xtrabackup-8......
  • xtrabackup支持的压缩算法的变化
    最近在debain11中尝试使用xtrabackupversion8.0.32-26备份MySQL的时候,发现debain11中很难找到qpress的安装包。顺便看了一下xtrabackup支持的压缩算法。查看xtrabackupversion8.0.32-26的帮助信息:--compress[=name]Compressindividualbackupfilesusingthespecifie......
  • mysql单库并发优化
    是否在使用Mysql时有以下疑问:1、限制连接数时CPU占用量不大吞吐量也不高!2、增大连接数后吞吐量提升不大却容易导致Mysql服务器卡死!3、横向增加Mysql服务器时感觉并发能力提升也有限!4、...以下仅以mysql的innodb引擎说明,独享数据库服务器为例。吞吐量瓶颈mysql的吞吐量主要受:磁盘读......
  • mysql在执行innobackupex增量备份时报错cannot open *****/xtrabackup_checkpoints
    问题描述:mysql在执行innobackupex增量备份时报错cannotopen*****/xtrabackup_checkpoints,如下所示:数据库:mysql5.7.21说明:此次测试环境为从节点.1、异常重现[mysql@mysql-leo-perslave~]$/usr/bin/innobackupex--defaults-file=/home/mysql/etc/my.cnf--socket=/mysql/da......