官网最新版本下载地址
https://www.percona.com/downloads/XtraBackup/LATEST/
yum install percona-xtrabackup; [epel]

备份:innobackupex [option] BACKUP-ROOT-DIR

选项说明:https://www.percona.com/doc/percona-xtrabackup/LATEST/genindex.html

--user;该选项表示备份账号
--password;该选项表示备份的密码
--host;该选项表示备份数据库的地址
--databases;该选项接受的参数为数据名,如果要指定多个数据库,彼此间需要以空格隔开;如:"xtra_test dba_test", \
同时,在指定某数据库时,也可以只指定其中的某张表。如:"mydatabase.mytable"。该选项对innodb引擎表无效,还是会备份所有innodb表
--defaults-file;该选项指定从哪个文件读取MySQL配置,必须放在命令行第一个选项位置
--incremental;该选项表示创建一个增量备份,需要指定--incremental-basedir
--incremental-basedir;该选项指定为前一次全备份或增量备份的目录,与--incremental同时使用
--incremental-dir;该选项表示还原时增量备份的目录
--include=name;指定表名,格式:databasename.tablename

Prepare:innobackupex --apply-log [option] BACKUP-DIR

--apply-log;一般情况下,在备份完成后,数据尚且不能用于恢复操作,因为备份的数据中可能会包含尚未提交的事务或已经提交但尚未同步至数据文件中的事务. \
因此,此时数据文件仍处理不一致状态。此选项作用是通过回滚未提交的事务及同步已经提交的事务至数据文件使数据文件处于一致性状态
--use-memory;该选项表示和--apply-log选项一起使用,prepare 备份的时候,xtrabackup做crash recovery分配的内存大小,单位字节。也可(1MB,1M,1G,1GB),推荐1G
--export;表示开启可导出单独的表之后再导入其他Mysql中
--redo-only;此选项在prepare base full backup,往其中merge增量备份时候使用

还原:innobackupex --copy-back [选项] BACKUP-DIR

选项说明:
--copy-back;做数据恢复时将备份数据文件拷贝到MySQL服务器的datadir
--move-back;这个选项与--copy-back相似,唯一的区别是它不拷贝文件,而是移动文件到目的地。这个选项移除backup文件,用时候必须小心. \
使用场景:没有足够的磁盘空间同事保留数据文件和Backup副本

还原注意事项:
1.datadir目录必须为空。除非指定innobackupex --force-non-empty-directorires选项指定,否则--copy-backup选项不会覆盖
2.在restore之前,必须shutdown MySQL实例,不能将一个运行中的实例restore到datadir目录中
3.由于文件属性会被保留,大部分情况下需要在启动实例之前将文件的属主改为mysql,这些文件将属于创建备份的用户 chown -R mysql:mysql /data/mysql \
以上需要在用户调用innobackupex之前完成--force-non-empty-directories:指定该参数时候,使得innobackupex --copy-back或--move-back选项转移文件到非空目录, \
已存在的文件不会被覆盖。如果--copy-back和--move-back文件需要从备份目录拷贝一个在datadir已经存在的文件,会报错失败

注意:单表导出和导入对版本有要求

~ ]# mysql --version
mysql Ver 15.1 Distrib 10.2.15-MariaDB, for Linux (x86_64) using readline 5.1

1.修改配置文件,启动服务导入测试数据库
sed -i '/\[mysqld\]/a\innodb_file_per_table' /etc/my.cnf
systemctl restart mairadb
msyql < hellodb_innodb.sql

2.备份表和表结构[建议备份到远程主机]
mkdir /backup
innobackupex --include="hellodb.students" /backup/
mysql -e 'show create table hellodb.students' > students.sql;/*备份表结构*/

3.删除表,模拟数据文件损坏
mysql -e 'drop table hellodb.students'
mysql -e 'select * from hellodb.students'

4.创建表文件
vi ./students.sql;/*删除注释信息*/
mysql hellodb < students.sql;
innobackupex --apply-log --export /backup/2018-06-14_15-17-43/;/*整数数据库导出操作,完成后数据库目录下会多出".cfg,.exp"2个文件*/

5.删除创建表文件所产生"students.ibd"表空间文件
~]# ls /data/mysql/hellodb/students.*
/data/mysql/hellodb/students.frm /data/mysql/hellodb/students.ibd
mysql -e 'alter table hellodb.students discard tablespace';/*删除表空间文件[存放用户数据]*/

6.拷贝表数据
cp /backup/2018-06-14_15-17-43/hellodb/students.{cfg,exp,ibd} /data/mysql/hellodb/
chown -R mysql. /data/mysql/hellodb
mysql -e 'alter table hellodb.students import tablespace';/*还原表空间文件*/

最新文章

  1. maven 简介
  2. CSS Sprite雪碧图应用
  3. 《至少有那天》——IU
  4. 通过百度地图API显示当前位置在地图上(图标显示)--第三方开源--百度地图(二)
  5. BZOJ_1096_[ZJOI2007]_仓库建设_(斜率优化动态规划+单调队列+特殊的前缀和技巧)
  6. SCVMM问题汇总
  7. python高级编程之最佳实践,描述符与属性01
  8. CURD特性
  9. android之listView定位到指定行同一时候隐藏输入键盘
  10. Spring Security(18)——Jsp标签
  11. 80x86的3种工作方式
  12. angular 实现modal windows效果(即模态窗口,半透明的遮罩层),以及bootstrap(css,components,js)的初步学习
  13. Android可以换行的布局
  14. Python自学笔记-面向对象相关(Mr seven)
  15. Oracle索引详解
  16. 关于CORS跨域问题的理解
  17. Mysql8.0.11win64重置root用户密码操作
  18. 为你的Python程序加密
  19. HDU 1880 魔咒词典 (字符串hash)
  20. 使用XStream解析复杂XML并插入数据库(二)

热门文章

  1. 关于SQL 导出脚本失败 及SQL 的重装
  2. 基于WebGL架构的3D可视化平台ThingJS-搭建设备管理系统
  3. layui-xtree 设置单选框,只能选一个
  4. 《转》完美解决微信video视频隐藏控件和内联播放问题
  5. linux查看硬件详细信息dmidecode
  6. TCP协议和UDP协议基础介绍
  7. dev 控件的treelist
  8. Mac/Linux 常用命令
  9. CentOS7+CDH5.14.0安装全流程记录,图文详解全程实测-7主节点CM安装子节点Agent配置
  10. python note 14 其他函数及递归应用