设为首页 收藏本站
查看: 755|回复: 0

[经验分享] mysql系列之6--------使用第三方工具-percona来备份mysql和恢复

[复制链接]

尚未签到

发表于 2018-10-6 11:45:49 | 显示全部楼层 |阅读模式
  使用第三方工具来备份mysql-----percona
  一、前期准备工作:
  1、安装依赖包:yum  -y  install  perl-Digest-MD5   perl-DBD-MySQL
  rpm -ivh libev-4.15-1.el6.rf.x86_64.rpm
  2、安装主包:    percona-xtrabackup-24-2.4.7-1.el7.x86_64.rpm
  percona是一款在线热备工具
  3、包含两个组件:
  /usr/bin/xtrabackup     :支持innodb和xtraDB(增量备份)
  /usr/bin/innobackupex   :支持innodb和myisam(只支持全备,不支持增量)
  4、innobackupex 包含的一些选项
  --user                  用户名
  --password          密码
  --databases         库名
  --no-timestamp          不使用系统日期做备份目录的子目录名
  --apply-log                 恢复日志
  --copy-back               恢复数据
  二、完全备份和完全恢复
  1、完全备份
  innobackupex --user root --password 123456 --database="mysql db66 performance sys"
  --no-timestamp   /allbak   //指定备份三个数据库,生成的备份文件目录不用系统时间做目录名
  2、恢复数据时,数据库目录为空,三个系统库必须备份进去
  首先恢复日志:innobackupex --user root --password 123456 --apply-log  /allbak
  删除数据库目录:   rm    -rf      /var/lib/mysql
  创建数据库目录:   mkdir /var/lib/mysql
  恢复数据:innobackupex --user root --password  123456  --copy-back  /allbak/
  赋予数据目录权限:chown -R mysql:mysql /var/lib/mysql
  重启服务,验证:systemctl restart mysqld
  三、增量备份和增量恢复
  1、在增量备份之前先做一次完全备份。
  innobackupex --user root --password 123456
  --databases="performance_schema sys mysql db666"
  --no-timestamp  /onebak
  2、第一次增量备份
  innobackupex --user root --password 123456     //指定用户名密码
  --databases="performance_schema sys mysql db666" //指定需要备份的数据库
  --incremental /new1                //指定增量备份的路径
  --incremental-basedir=/onebak   //指定以哪个备份来做为增量备份的参考
  --no-timestamp
  3、第二次增量备份:
  innobackupex --user root --password 123456
  --databases="performance_schema sys mysql db666"
  --incremental /new2     //第二次增量备份的路径
  --incremental-basedir=/new1   //以上次增量备份做为参考来做增量备份
  --no-timestamp
  4、增量恢复的文件目录说明
  xtrabackup_checkpoints    xtrabackup_logfile         //这两个文件记录修改的lsn号
  5、恢复步骤
  A、删除数据目录下的文件:rm -rf  /var/lib/mysql/*
  B、恢复日志---完全备份的日志
  innobackupex --user root --password 123456
  --databases="performance_schema sys mysql db666"
  --apply-log --redo-only   //恢复日志,并合并日志
  /onebak --no-timestamp
  C、恢复第一次增量的备份(只需要恢复日志,日志合并即可)
  innobackupex --user root --password 123456
  --databases="performance_schema sys mysql db666"
  --apply-log --redo-only /onebak  //源日志路径
  --incremental-dir=/new1 --no-timestamp   //需合并的日志文件的路径
  D、恢复第二次增量的备份
  innobackupex --user root --password 123456
  --databases="performance_schema sys mysql db666"
  --apply-log --redo-only /onebak   //源日志文件的路径
  --incremental-dir=/new2 --no-timestamp   //第二次增量备份合并的日志
  E、恢复数据,只需还原全备份里面的,因为增量备份的内容已经合并到全备里面
  innobackupex --user root --password 123456  --copy-back  /onebak
  F、给数据目录给权限,重启服务验证
  chown    -R     mysql:mysql    /var/lib/mysql
  systemctl     restart      mysqld
  四、恢复完全备份数据中的单张表
  1、export  //导出表信息     import //导入表空间
  删除表空间:alter  table 表    discard  tablespace;
  2、备份单个数据库:
  innobackupex --user root --password 123456
  --databases="mydb" --no-timestamp /mydb  //只备份一个数据库
  3、删除表,创建表(表字段必须要和以前的一样,模拟表丢失
  drop table t1;       create table t1(id int);
  4、导出表信息:用到的参数是--export
  innobackupex --user root --password 123456 --databases="db66" --apply-log --export /db66
  5、删除表空间:在mysql命令行里操作
  alter table db66.t1 discard tablespace;
  6、把备份目录下导出的表信息拷贝到数据库目录下,并给权限
  cp /db66/db66/t1.{cfg,exp,ibd} /var/lib/mysql/db66/
  chown mysql /var/lib/mysql/db66/t1.*
  7、导入表空间
  alter table db66.t1 import tablespace;
  8、验证:select * from db66.t1;


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-613713-1-1.html 上篇帖子: Mysql 5.7.20 源码安装笔记 下篇帖子: mysql系列之7----主从的设置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表