文档课题:运用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 mysql@192.168.133.112:/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 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/ba服务器托管网k/2023-11-13_23-03-12/booksDB/*.exp mysql@192.168.133.112:/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
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net
1. Amazon MSK介绍 Kafka作为老牌的开源分布式事件流平台,已经广泛用于如数据集成,流处理,数据管道等各种应用中。 亚马逊云科技也于2019年2月推出了Apache Kafka的云托管版本,Amazon MSK(Managed Streaming…