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

[经验分享] 实现多种方式对MYSQL进行备份

[复制链接]

尚未签到

发表于 2018-10-7 08:57:10 | 显示全部楼层 |阅读模式
  一、mysqldump+binlog备份与恢复
  此方式是完全备份,通过备份二进制日志实现增量备份。具体步骤如下:
  ①创建备份的目录
   DSC0000.png
  ②创建备份的数据库和表。
DSC0001.png

  ③备份数据库
   DSC0002.png
  ④向表中插入数据。
DSC0003.png

  ⑤进行增量备份,备份二进制日志。 【记得开启二进制日志】
  mariadb配置文件
DSC0004.png

DSC0005.png

  ⑥进行增量备份,备份二进制日志
  查看二进制日志
DSC0006.png

  再添加一条数据进行备份二进制日志
DSC0007.png   ⑦继续插入数据,没有备份,模拟误删除数据库。

DSC0008.png

  将最后操作的二进制日志进行备份
  查看最后操作日志的命令:
  mysqlbinlog /var/lib/mysql/log-bin.0000002 (注:×××代表自定义二进制日志的名)
DSC0009.png

DSC00010.png   ⑧导入之前所有备份

DSC00011.png

  ⑨查看数据库及数据。
DSC00012.png

  恢复成功。
  二、xtrabackup方式备份
  对InnoDB:热备,支持完全备份和增量备份
  对MyISAM:温备,只支持完全备份
  特点:
  (1)备份过程快速、可靠
  (2)备份过程不会打断正在执行的事务
  (3)能够基于压缩等功能节约磁盘空间和流量
  (4)自动实现备份检验
  (5)还原速度快
  实现步骤:
  ①安装包。
  yum install xtrabackup
  ②进行完全备份。
  命令:innobackupex --user=root /app/backup/,并进行修改权限。
DSC00013.png

  修改mariadb配置文件,修改目录路径。
DSC00014.png

  重启数据库查看数据库内容。
DSC00015.png

  ③实现增量备份
  对test数据库的backup表里增加数据。
DSC00016.png

  命令:innobackupex --incremental /app/backup/ --incremental-basedir=/app/backup/2017-11-16_15-49-35 【尽量写绝对路径】
DSC00017.png

  ④实现数据恢复
  数据恢复准备:
  命令:innobackupex --apply-log --redo-only /app/backup/2017-11-16_16-42-25/
DSC00018.png

  模拟损坏数据库。
  命令:mv /var/lib/mysql /var/lib/mysql.bak
  创建mysql  mkdir mysql
  cd mysql/  执行命令:innobackupex --copy-back /app/backup/2017-11-16_16-45-10
  重启数据库进行查看
DSC00019.png

  三、基于lvm快照+binlog实现备份。
  ①添加一块硬盘
DSC00020.png

  ②进行分区,并格式化LVM格式。
DSC00021.png

  ③创建逻辑卷组并进行挂载。
DSC00022.png

  ④移动数据库文件,修改数据库配置文件,进行重启。
DSC00023.png

  修改权限:chown -R mysql:mysql /mnt/lvs_snap/
  ⑤创建测试数据库,并锁定数据库。
DSC00024.png

  ⑥给数据库进行快照,并解锁所有表。
DSC00025.png

  ⑦挂载创建的快照,并对其内容进行打包。
  mkdir /mnt/test_snap -p
  mount /dev/mysql/test-snap /mnt/test_sanp/
  tar cvf /app/mysqlbackup.tar /mnt/tset_snap/
DSC00026.png   ⑧取消挂载,删除快照。

  umount /mnt/test_snap
  rm -rf /dev/mysql/test-snap
DSC00027.png

  ⑨删除数据库,并对压缩包解压。
  rm -rf /mnt/lvm_snap/*
  tar xvf /app/mysqlbackup.tar /mnt/lvm_snap/
DSC00028.png

  ⑩重启服务,验证是否数据恢复。


运维网声明 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-614168-1-1.html 上篇帖子: Linux运维必会MySQL 30道基础命令 下篇帖子: MYSQL-定时任务(event)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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