常用的MySQL | 备份工具 (完全备份) |
---|---|
物理备份缺点 | 跨平台性差,备份时间长,冗余备份,浪费存储空间 |
mysqldump备份缺点 | 效率较低,备份和还原速度慢,并且锁表,备份过程中,数据插入和更新操作被阻塞 |
XtraBackup工具
一款强大的在线热备份工具
备份过程中不锁表,适合生产环境
主要包含两个组件
xtrabackup:C程序,支持InnoDB/XtraDB
innobackupex:以Perl脚本封装xtrabackup,还支持MyISAM
软件:装包->使用命令->innobackupex
yum -y install percona-xtrabackup-版本.rpm
常用选项 | 含义 |
---|---|
–host | 主机名 |
–user | 用户名 |
–port | 端口号 |
–password | 密码 |
–databases | 数据库名(–databases=“库名.表”(“库名”,“库1 库2”)) |
–no-timestamp | 不用日期命名备份文件存储的子目录名 |
–redo-only | 日志合并 |
–apply-log | 准备恢复数据 |
–copy-back | 拷贝数据 |
–incremental 目录名 | 增量备份 |
–incremental-basedir=目录名 | 增量备份时,指定上一次备份数据存储的目录名 |
–incremental-dir=目录名 | 准备恢复数据时,指定增量备份数据存储的目录名 |
–export | 导出表信息 |
inport | 导入表空间 |
命令格式:
完全备份innobackupex --user 用户名 --password 密码 备份目录名 --no-timestamp
完全恢复innobackupex --apply-log 目录名 //准备恢复数据
innobackupex --copy-back 目录名 //恢复数据
增量备份:innobackupex --user用户名 --password 密码 --incremental 增量目录 --incremental-basedir=目录名 --no-timestamp
增强恢复:innobackupex --apply-log --redo-only 目录名 --incremental-dir=目录名 //准备恢复数据
innobackupex --copy-back 目录名 //恢复数据
恢复单张表
1)删除表空间:mysql>alter table 库名.表名 discard tablespace;
2)导出表信息:innobackupex --apply-log --export 数据完全备份目录
3)拷贝表信息文件:cp 数据完全备份目录/数据库名目录/表名.{ibd,cfg,exp} 数据库目录/库名目录/
4)修改所有者/组:chown mysql:mysql 数据库目录/库名
5)导入表空间:mysql>alter table 库名.表名 import tablespace;
6)查看表记录;mysql>select * from 库名.表名;
7)删除表信息文件:rm -rf 数据库目录/库名/表名.{cfg,exp}
innobackupex | 常用选项 |
---|---|
常用选项 含义 | |
–host | 主机面 |
–user | 用户名 |
–port | 端口号 |
–password | 密码 |
–databases | 数据库名 |
–no-timestamp | 不用日期命名备份文件存储的子目录名 |
–redo-only | 日志合并 |
–apply-log | 准备恢复数据 |
–copy-back | 恢复数据 |
–incremental 目录名 | 增量备份 |
–incremental-basedir=目录名 | 增量备份时,指定上一次备份数据存储的目录名 |
–incremental-dir=目录名 | 准备恢复数据时,指定增量备份数据存储的目录名 |
–export | 导出表信息 |
import | 导入表空间 |