【Mysql】xtrabackup 备份和恢复测试

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:
1 创建测试环境
mysql> create table t1 as select * from sbtest;
Query OK, 1000000 rows affected (33.37 sec)
Records: 1000000  Duplicates: 0  Warnings: 0
mysql> insert into t1 select * from t1;                          
Query OK, 1000000 rows affected (1 min 4.02 sec)
Records: 1000000  Duplicates: 0  Warnings: 0
mysql> 
mysql> exit
2 执行备份
-bash-3.2$ xtrabackup --defaults-file=/etc/my.cnf --backup --target-dir=/opt/mysql/backup/test
xtrabackup version 1.6.3 for Percona Server 5.1.55 unknown-linux-gnu (x86_64) (revision id: 292)
xtrabackup: uses posix_fadvise().
xtrabackup: cd to /opt/mysql/data
xtrabackup: Target instance is assumed as followings.
xtrabackup:   innodb_data_home_dir = ./
xtrabackup:   innodb_data_file_path = ibdata1:10M:autoextend
xtrabackup:   innodb_log_group_home_dir = ./
xtrabackup:   innodb_log_files_in_group = 2
xtrabackup:   innodb_log_file_size = 268435456
>> log scanned up to (4972495139)
[01] Copying ./ibdata1 
     to /opt/mysql/backup/test/ibdata1
>> log scanned up to (4972495139)
>> log scanned up to (4972495139)
>> log scanned up to (4972495139)
>> log scanned up to (4972495139)
>> log scanned up to (4972495139)
>> log scanned up to (4976241217)
>> log scanned up to (5050531464)
>> log scanned up to (5116904909)
>> log scanned up to (5144668918)
>> log scanned up to (5167804122)
>> log scanned up to (5228139500)
>> log scanned up to (5230910238)
>> log scanned up to (5230910238)
>> log scanned up to (5230910238)
>> log scanned up to (5230910238)
>> log scanned up to (5230910238)
[01]        ...done
xtrabackup: The latest check point (for incremental): '5178591272'
>> log scanned up to (5230910238)
xtrabackup: Stopping log copying thread.
xtrabackup: Transaction log of lsn (4972495139) to (5230910238) was copied.
3 关闭mysql 服务:
[root@rac3 tmp]# service mysql stop 
Shutting down MySQL..                                      [确定]
4 删除数据文件和innodb log
-bash-3.2$ pwd
/opt/mysql/data
-bash-3.2$ ls ib*
ibdata1  ib_logfile0  ib_logfile1  ib_logfile2
-bash-3.2$ rm ib*
-bash-3.2$ 
5 使用xtrabackup 恢复数据
-bash-3.2$ xtrabackup --defaults-file=/etc/my.cnf --prepare --target-dir=/opt/mysql/backup/test
xtrabackup version 1.6.3 for Percona Server 5.1.55 unknown-linux-gnu (x86_64) (revision id: 292)
xtrabackup: cd to /opt/mysql/backup/test
xtrabackup: This target seems to be not prepared yet.
xtrabackup: xtrabackup_logfile detected: size=290717696, start_lsn=(4972495139)
xtrabackup: Temporary instance for recovery is set as followings.
xtrabackup:   innodb_data_home_dir = ./
xtrabackup:   innodb_data_file_path = ibdata1:10M:autoextend
xtrabackup:   innodb_log_group_home_dir = ./
xtrabackup:   innodb_log_files_in_group = 1
xtrabackup:   innodb_log_file_size = 290717696
xtrabackup: Starting InnoDB instance for recovery.
xtrabackup: Using 104857600 bytes for buffer pool (set by --use-memory parameter)
InnoDB: The InnoDB memory heap is disabled
InnoDB: Mutexes and rw_locks use GCC atomic builtins
InnoDB: Compressed tables use zlib 1.2.3
InnoDB: Warning: innodb_file_io_threads is deprecated. Please use innodb_read_io_threads and innodb_write_io_threads instead
111211 16:25:36  InnoDB: Initializing buffer pool, size = 100.0M
111211 16:25:36  InnoDB: Completed initialization of buffer pool
111211 16:25:36  InnoDB: highest supported file format is Barracuda.
InnoDB: Log scan progressed past the checkpoint lsn 4972495139
111211 16:25:36  InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the .ibd files...
InnoDB: Doing recovery: scanned up to log sequence number 4977737728 (2 %)
InnoDB: Doing recovery: scanned up to log sequence number 4982980608 (4 %)
InnoDB: Doing recovery: scanned up to log sequence number 4988223488 (6 %)
InnoDB: Doing recovery: scanned up to log sequence number 4993466368 (8 %)
InnoDB: Doing recovery: scanned up to log sequence number 4998709248 (10 %)
InnoDB: Doing recovery: scanned up to log sequence number 5003952128 (12 %)
InnoDB: Doing recovery: scanned up to log sequence number 5009195008 (14 %)
InnoDB: Doing recovery: scanned up to log sequence number 5014437888 (16 %)
InnoDB: Doing recovery: scanned up to log sequence number 5019680768 (18 %)
InnoDB: Doing recovery: scanned up to log sequence number 5024923648 (20 %)
InnoDB: Doing recovery: scanned up to log sequence number 5030166528 (22 %)
111211 16:25:38  InnoDB: Starting an apply batch of log records to the database...
InnoDB: Progress in percents: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 
InnoDB: Apply batch completed
InnoDB: Doing recovery: scanned up to log sequence number 5035409408 (24 %)
InnoDB: Doing recovery: scanned up to log sequence number 5040652288 (26 %)
InnoDB: Doing recovery: scanned up to log sequence number 5045895168 (28 %)
InnoDB: Doing recovery: scanned up to log sequence number 5051138048 (30 %)
InnoDB: Doing recovery: scanned up to log sequence number 5056380928 (32 %)
InnoDB: Doing recovery: scanned up to log sequence number 5061623808 (34 %)
InnoDB: Doing recovery: scanned up to log sequence number 5066866688 (36 %)
InnoDB: Doing recovery: scanned up to log sequence number 5072109568 (38 %)
InnoDB: Doing recovery: scanned up to log sequence number 5077352448 (40 %)
InnoDB: Doing recovery: scanned up to log sequence number 5082595328 (42 %)
InnoDB: Doing recovery: scanned up to log sequence number 5087838208 (44 %)
111211 16:25:42  InnoDB: Starting an apply batch of log records to the database...
InnoDB: Progress in percents: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 
InnoDB: Apply batch completed
InnoDB: Doing recovery: scanned up to log sequence number 5093081088 (46 %)
InnoDB: Doing recovery: scanned up to log sequence number 5098323968 (48 %)
InnoDB: Doing recovery: scanned up to log sequence number 5103566848 (50 %)
InnoDB: Doing recovery: scanned up to log sequence number 5108809728 (52 %)
InnoDB: Doing recovery: scanned up to log sequence number 5114052608 (54 %)
InnoDB: Doing recovery: scanned up to log sequence number 5119295488 (56 %)
InnoDB: Doing recovery: scanned up to log sequence number 5124538368 (58 %)
InnoDB: Doing recovery: scanned up to log sequence number 5129781248 (60 %)
InnoDB: Doing recovery: scanned up to log sequence number 5135024128 (62 %)
InnoDB: Doing recovery: scanned up to log sequence number 5140267008 (64 %)
InnoDB: Doing recovery: scanned up to log sequence number 5145509888 (66 %)
111211 16:25:45  InnoDB: Starting an apply batch of log records to the database...
InnoDB: Progress in percents: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 
InnoDB: Apply batch completed
InnoDB: Doing recovery: scanned up to log sequence number 5150752768 (68 %)
InnoDB: Doing recovery: scanned up to log sequence number 5155995648 (71 %)
InnoDB: Doing recovery: scanned up to log sequence number 5161238528 (73 %)
InnoDB: Doing recovery: scanned up to log sequence number 5166481408 (75 %)
InnoDB: Doing recovery: scanned up to log sequence number 5171724288 (77 %)
InnoDB: Doing recovery: scanned up to log sequence number 5176967168 (79 %)
InnoDB: Doing recovery: scanned up to log sequence number 5182210048 (81 %)
InnoDB: Doing recovery: scanned up to log sequence number 5187452928 (83 %)
InnoDB: Doing recovery: scanned up to log sequence number 5192695808 (85 %)
InnoDB: Doing recovery: scanned up to log sequence number 5197938688 (87 %)
InnoDB: Doing recovery: scanned up to log sequence number 5203181568 (89 %)
111211 16:25:48  InnoDB: Starting an apply batch of log records to the database...
InnoDB: Progress in percents: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 
InnoDB: Apply batch completed
InnoDB: Doing recovery: scanned up to log sequence number 5208424448 (91 %)
InnoDB: Doing recovery: scanned up to log sequence number 5213667328 (93 %)
InnoDB: Doing recovery: scanned up to log sequence number 5218910208 (95 %)
InnoDB: Doing recovery: scanned up to log sequence number 5224153088 (97 %)
InnoDB: Doing recovery: scanned up to log sequence number 5229395968 (99 %)
InnoDB: Doing recovery: scanned up to log sequence number 5230910238 (100 %)
111211 16:25:51  InnoDB: Starting an apply batch of log records to the database...
InnoDB: Progress in percents: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 
InnoDB: Apply batch completed
InnoDB: Last MySQL binlog file position 0 1249, file name ./mysql-bin.000018
111211 16:25:52 Percona XtraDB (http://www.percona.com) 1.0.15-12.5 started; log sequence number 5230910238
[notice (again)]
  If you use binary log and don't use any hack of group commit,
  the binary log position seems to be:
InnoDB: Last MySQL binlog file position 0 1249, file name ./mysql-bin.000018
xtrabackup: starting shutdown with innodb_fast_shutdown = 1
111211 16:25:52  InnoDB: Starting shutdown...
111211 16:25:53  InnoDB: Shutdown completed; log sequence number 5230910238
6 将生成的文件拷贝备份到/opt/mysql/data
-bash-3.2$ cp ibdata1  /opt/mysql/data/
7 启动mysql服务
[root@rac3 tmp]# service mysql start
Starting MySQL..                                           [确定]
8 测试
-bash-3.2$ mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.5.18-log MySQL Community Server (GPL)
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> use test;
Database changed
mysql> select count(1) from t1;
+----------+
| count(1) |
+----------+
|  2000000 |
+----------+
1 row in set (7.52 sec)
mysql> 
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
3月前
|
存储 关系型数据库 MySQL
在CentOS 8.x上安装Percona Xtrabackup工具备份MySQL数据步骤。
以上就是在CentOS8.x上通过Perconaxtabbackup工具对Mysql进行高效率、高可靠性、无锁定影响地实现在线快速全量及增加式数据库资料保存与恢复流程。通过以上流程可以有效地将Mysql相关资料按需求完成定期或不定期地保存与灾难恢复需求。
319 10
|
5月前
|
存储 关系型数据库 MySQL
【赵渝强老师】使用select...into outfile语句备份MySQL
本文介绍了MySQL中使用`SELECT...INTO OUTFILE`语句将表数据导出为文本文件的方法。通过示例演示了如何备份员工表(emp)的数据,包括创建存储目录、设置权限、配置参数`secure_file_priv`以及解决相关错误的过程。字段分隔符和行终止符可自定义,确保数据格式符合需求。最后展示了备份文件的内容,验证操作成功。
395 36
|
5月前
|
存储 SQL 关系型数据库
【赵渝强老师】使用mysqldump备份MySQL
本文介绍了 MySQL 自带的逻辑备份工具 mysqldump 的使用方法。通过 mysqldump,可以将数据库中的数据转换为对应的 SQL 插入语句,便于备份和还原。文章详细说明了如何备份所有数据库、指定数据库及特定表,排除某些表不备份的操作,以及删除数据库后如何通过备份文件恢复数据。同时提供了视频讲解和具体命令示例,帮助用户更好地理解和应用该工具。
247 5
|
5月前
|
存储 SQL 关系型数据库
【赵渝强老师】使用mydumper备份MySQL
本文介绍了使用mydumper工具进行MySQL数据库备份与恢复的操作方法。相比单线程工作的mysqldump,mydumper支持多线程,速度提升可达10倍。其功能包括事务性表快照、快速压缩、导出binlog等,并提供详细的参数说明和操作步骤。文章通过实例演示了安装mydumper、创建存储目录、全库备份、指定数据库及表备份、删除数据库以及使用myloader恢复数据的完整流程,并附带视频讲解,帮助用户更好地理解和应用该工具。
229 0
|
7月前
|
存储 关系型数据库 MySQL
利用Cron表达式实现MySQL数据库的定时备份
以上就是如何使用Cron表达式和mysqldump命令实现MySQL数据库的定时备份。这种方法的优点是简单易用,而且可以根据需要定制备份的时间和频率。但是,它也有一些限制,例如,它不能备份MySQL服务器的配置文件和用户账户信息,也不能实现增量备份。如果需要更复杂的备份策略,可能需要使用专门的备份工具或服务。
195 15
|
7月前
|
SQL 缓存 关系型数据库
使用温InnoDB缓冲池启动MySQL测试
使用温InnoDB缓冲池启动MySQL测试
135 0
|
7月前
|
SQL 缓存 关系型数据库
MySQL8.4 Enterprise安装Firewall及测试
MySQL8.4 Enterprise安装Firewall及测试
227 0
|
7月前
|
安全 关系型数据库 MySQL
MySQL8使用物理文件恢复MyISAM表测试
MySQL8使用物理文件恢复MyISAM表测试
133 0
|
10月前
|
数据可视化 前端开发 测试技术
接口测试新选择:Postman替代方案全解析
在软件开发中,接口测试工具至关重要。Postman长期占据主导地位,但随着国产工具的崛起,越来越多开发者转向更适合中国市场的替代方案——Apifox。它不仅支持中英文切换、完全免费不限人数,还具备强大的可视化操作、自动生成文档和API调试功能,极大简化了开发流程。
|
5月前
|
Java 测试技术 容器
Jmeter工具使用:HTTP接口性能测试实战
希望这篇文章能够帮助你初步理解如何使用JMeter进行HTTP接口性能测试,有兴趣的话,你可以研究更多关于JMeter的内容。记住,只有理解并掌握了这些工具,你才能充分利用它们发挥其应有的价值。+
968 23

推荐镜像

更多