实现多种方式对MYSQL进行备份

  1、mysqldump+binlog备份与恢复mysql

  此方式是彻底备份,经过备份二进制日志实现增量备份。具体步骤以下:sql

  ①建立备份的目录数据库

  4f0365844b7e4b0c7bb3647c6eaaf271.png

  ②建立备份的数据库和表。app

  d5b6dd2febeabf647d74aa19c6cd6cd4.png

  ③备份数据库ide

  f2bd277161531edcbe0feab46e789613.png

  ④向表中插入数据。测试

  336d63080d808583db59335fad5d0e09.png

  ⑤进行增量备份,备份二进制日志。 【记得开启二进制日志】spa

  mariadb配置文件3d

  d4ed430d875419a5c387d1c4c1a525bb.png


 5965fe94f45c7c9805624388f593c0c0.png   

  ⑥进行增量备份,备份二进制日志日志

  查看二进制日志blog

  7ca1aae0a4acef78c8fbba69393d7bac.png


  再添加一条数据进行备份二进制日志

  1c6d6f4bf3bbf85c542c093a2b6cb900.png  ⑦继续插入数据,没有备份,模拟误删除数据库。

  e65fe8224bb3dd1935773bafb93b390b.png


  将最后操做的二进制日志进行备份

  查看最后操做日志的命令:

  mysqlbinlog /var/lib/mysql/log-bin.0000002 (注:×××表明自定义二进制日志的名)

  f8ec660b01137ea6da8688eb2f710bda.png


 fe87063855eba03ebc4cce5cf28dabaa.png  ⑧导入以前全部备份

 9b662b53b20892bebe421dddb0156dbf.png

 ⑨查看数据库及数据。

 7961ff1ef08a8bd09a23d916ecc10b23.png

 恢复成功。

  2、xtrabackup方式备份

  对InnoDB:热备,支持彻底备份和增量备份

  对MyISAM:温备,只支持彻底备份

  特色:

  (1)备份过程快速、可靠

  (2)备份过程不会打断正在执行的事务

  (3)可以基于压缩等功能节约磁盘空间和流量

  (4)自动实现备份检验

  (5)还原速度快

  实现步骤:

  ①安装包。

  yum install xtrabackup

  ②进行彻底备份。

  命令:innobackupex --user=root /app/backup/,并进行修改权限。

  52c050916cd37bbd3a9c3d3952ea66d8.png


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

  0cc9c1043a0b5e6b26bf8cad68e3d3be.png

  重启数据库查看数据库内容。

  499cfe1e39bd30f5e5b181d119623d47.png

  ③实现增量备份

  对test数据库的backup表里增长数据。

  cb80d0702662264df569612145a5551b.png


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

  25d3e3a0ca623c414551bbe1c808e63d.png

  ④实现数据恢复

  数据恢复准备:

  命令:innobackupex --apply-log --redo-only /app/backup/2017-11-16_16-42-25/

  cf707e4097d293f2c6f8e163b49f6a0b.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

  重启数据库进行查看

  3610cc1be731cf140faf4607e8b894d6.png

  3、基于lvm快照+binlog实现备份。

  ①添加一块硬盘

  6b3216f359f382605cc9ad4c20ac7665.png

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

  77c431a956a9645cf44a84ab9355c709.png

  ③建立逻辑卷组并进行挂载。

  52a62190077c395a7026fca92414e692.png

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

  84c0bd944a378b5f7d5bc9c1163c26b7.png 

  修改权限:chown -R mysql:mysql /mnt/lvs_snap/ 

  ⑤建立测试数据库,并锁定数据库。

  12d738cc3933e0e84e57ca189cc12cfc.png

  ⑥给数据库进行快照,并解锁全部表。

  7d4e721adb302dc0e279b81b3b5bc699.png

  ⑦挂载建立的快照,并对其内容进行打包。

  mkdir /mnt/test_snap -p

  mount /dev/mysql/test-snap /mnt/test_sanp/

  tar cvf /app/mysqlbackup.tar /mnt/tset_snap/

  c8b9aa54910edf43d64c631925d999e6.png  ⑧取消挂载,删除快照。

  umount /mnt/test_snap

  rm -rf /dev/mysql/test-snap

 7b2ece8dce1ba7fead82a798062face1.png

  ⑨删除数据库,并对压缩包解压。

  rm -rf /mnt/lvm_snap/*

  tar xvf /app/mysqlbackup.tar /mnt/lvm_snap/

  c08231d5d3c99a55058457d59426aee9.png

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

相关文章
相关标签/搜索