INNODB 热备工具试验与总结

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:
INNODB HOT BACKUP 是一个商用的可执行文件。不过可以申请 30 天试用下。
相比 MYSQL 自身的 MYSQLDUMP  导入导出工具来说有以下优点:
1. 物理备份。
2. 还原速度快。
MYSQLDUMP 在并发小的时候还可以用下。缺点如下:
1. 逻辑备份。
2. 还原速度慢。
LVM 则可以喝 INNODB HOT BACKUP 有一拼了,不过有个缺点,就是要建立逻辑卷,而且备份的时候必须得建立跟源数据所在卷一样的临时卷。其他的优点和 INNODB HOT BACKUP 一样。
不过 INNODB HOT BACKUP 的缺点也是有的,就是只备份 INNODB 的表空间以及生成新的 REDO  日志。
对于表结构的备份可以直接用 MYSQLDUMP 来个快速逻辑备份,   或者可以用  INNODB  官方给的开源 PERL  脚本来配合备份表结构。
 
INNODB HOT BACKUP 工具需要的两个配置文件示例可以按照官方文档来设置。
 
备份目录下的几个文件。
[root@mysql01 backup]# ls
backup.cnf   log   my.cnf
开始备份,关于具体这两个配置文件是干嘛的,我就不说了,具体看看官方手册。
[root@mysql01 backup]# /root/ibbackup my.cnf backup.cnf
InnoDB Hot Backup version 3.0.0; Copyright 2002-2005 Innobase Oy
License A15436 is granted to actionsky ([email]david.yang@actionsky.com[/email])
(--apply-log works in any computer regardless of the hostname)
Licensed for use in a computer whose hostname is 'mysql01'
Expires 2009-6-1 (year-month-day) at 00:00
See  [url]http://www.innodb.com[/url] for further information
Type ibbackup --license for detailed license terms, --help for help
 
Contents of my.cnf:
innodb_data_home_dir got value /var/lib/mysql/data
innodb_data_file_path got value ibdata1:10M:autoextend
datadir got value /var/lib/mysql/data
innodb_log_group_home_dir got value /var/lib/mysql/binlog
innodb_log_files_in_group got value 3
innodb_log_file_size got value 10485760
 
Contents of backup.cnf:
innodb_data_home_dir got value /var/lib/mysql/backup
innodb_data_file_path got value ibdata1:10M:autoextend
datadir got value /var/lib/mysql/backup
innodb_log_group_home_dir got value /var/lib/mysql/backup
innodb_log_files_in_group got value 3
innodb_log_file_size got value 10485760
 
ibbackup: Found checkpoint at lsn 0 79531539
ibbackup: Starting log scan from lsn 0 79531520
090416 11:50:02   ibbackup: Copying log...
090416 11:50:02   ibbackup: Log copied, lsn 0 79531539
ibbackup: We wait 1 second before starting copying the data files...
090416 11:50:03   ibbackup: Copying /var/lib/mysql/data/ibdata1
ibbackup: A copied database page was modified at 0 79531539
ibbackup: Scanned log up to lsn 0 79531539
ibbackup: Was able to parse the log up to lsn 0 79531539
ibbackup: Maximum page number for a log record 0
090416 11:50:05   ibbackup: Full backup completed!
 
 
开始生成还原数据 以前还原都是用 --restore 选项,不过这个选项在以后的版本会被干掉。
新版本都是用  --apply-log  来产生新的 LOG 文件。
[root@mysql01 backup]# /root/ibbackup --apply-log backup.cnf
InnoDB Hot Backup version 3.0.0; Copyright 2002-2005 Innobase Oy
License A15436 is granted to actionsky ([email]david.yang@actionsky.com[/email])
(--apply-log works in any computer regardless of the hostname)
Licensed for use in a computer whose hostname is 'mysql01'
Expires 2009-6-1 (year-month-day) at 00:00
See  [url]http://www.innodb.com[/url] for further information
Type ibbackup --license for detailed license terms, --help for help
 
Contents of backup.cnf:
innodb_data_home_dir got value /var/lib/mysql/backup
innodb_data_file_path got value ibdata1:10M:autoextend
datadir got value /var/lib/mysql/backup
innodb_log_group_home_dir got value /var/lib/mysql/backup
innodb_log_files_in_group got value 3
innodb_log_file_size got value 10485760
 
090416 11:50:11   ibbackup: ibbackup_logfile's creation parameters:
ibbackup: start lsn 0 79531520, end lsn 0 79531539,
ibbackup: start checkpoint 0 79531539
InnoDB: Doing recovery: scanned up to log sequence number 0 79531539
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 Setting log file size to 0 10485760
Setting log file size to 0 10485760
Setting log file size to 0 10485760
ibbackup: We were able to parse ibbackup_logfile up to
ibbackup: lsn 0 79531539
ibbackup: Last MySQL binlog file position 0 249, file name /var/lib/mysql/binlog/mysql.000016
ibbackup: The first data file is '/var/lib/mysql/backup/ibdata1'
ibbackup: and the new created log files are at '/var/lib/mysql/backup/'
090416 11:50:12   ibbackup: Full backup prepared for recovery successfully!
 
 
 
现在目录下有 IBDATA 以及新的 IB_LOG 了。
[root@mysql01 backup]# ls -l
total 73840
-rw-r--r-- 1 mysql mysql       219 Apr 16 01:10 backup.cnf
-rw-r----- 1 root   root       1024 Apr 16 11:50 ibbackup_logfile
-rw-r----- 1 root   root   44040192 Apr 16 11:50 ibdata1
-rw-r----- 1 root   root   10485760 Apr 16 11:50 ib_logfile0
-rw-r----- 1 root   root   10485760 Apr 16 11:50 ib_logfile1
-rw-r----- 1 root   root   10485760 Apr 16 11:50 ib_logfile2
-rw-r--r-- 1 mysql mysql      3608 Apr 16 11:51 log
-rw-r--r-- 1 mysql mysql       215 Apr 16 01:10 my.cnf
[root@mysql01 backup]#
 
 
整个的还原过程是:(笨办法)
 1. 先停掉 MYSQLD
2.COPY 这些文件到现网的 MySQL 数据以及日志目录。
3. 再次启动 MYSQLD
 
自己写脚本实现自动化,不过这脚本我就不贴了。





本文转自 david_yeung 51CTO博客,原文链接: http://blog.51cto.com/yueliangdao0608/151811 ,如需转载请自行联系原作者
相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
10月前
|
SQL 关系型数据库 MySQL
InnoDB数据恢复的工具——TwinDB介绍
TwinDB是一款专门用于InnoDB数据恢复的工具,它还有一个名字叫undrop for InnoDB。
628 0
|
存储 缓存 算法
innodb文件分析工具innodb_ruby
innodb文件分析工具innodb_ruby的基本使用介绍,帮助更了解Innodb存储引擎的内部结构
249 0
innodb文件分析工具innodb_ruby
|
关系型数据库 MySQL C++
MySQL InnoDB inno_space 工具介绍
**什么是inno_space?** [inno_space ](./https://github.com/baotiao/inno_space) 是一个可以直接访问InnoDB 内部文件的命令行工具, 可以打印出文件的内部结构. Jeremy Cole 用ruby 写了一个类似的工具, 不过不支持MySQL 8.0, 并且ruby 编译以及改动起来特别麻烦, 所以用cpp 重写了一个.
339 0
MySQL InnoDB inno_space 工具介绍
|
关系型数据库 测试技术 C++
innblock 工具| InnoDB page观察利器
innblock | InnoDB page观察利器 特别鸣谢 笔者是知数堂早期学员,最初有写这么一个工具的想法也得到叶金荣老师的认可和鼓励,这个想法也整整耗掉了好几个晚上的休息时间,这里再次感谢叶金荣老师对工具审核,叶老师的经验和学识是每一位学员宝贵的财富。
1111 0